blockinfile:將將文字塊新增到現有檔案;
copy:將檔案複製到受管主機;
fetch:從受管主機拷貝檔案到控制節點;
file:設定檔案屬性;
lineinfile:確保特定位於某個檔案;
stat:檢索檔案狀態資訊;
synchronize:rsync命令的打包程式。
2.1 模組的一些關鍵字
##file裡的關鍵字
...
- tasks:
- name: file
file:
path: ##管理檔案的路徑
owner: ##設定擁有者
group: ##設定擁有組
mode: ##許可權
state: ##檔案狀態:touch(建立)、absent(刪除)
setype: ## 臨時設定selinux
checksum_algorithm: md5 ##檢測檔案的md5校驗和
2.2 用例說明
##file引數示例
1 ---
2 - name: test
3 hosts: weba
4 tasks:
5 - name: touch a file
6 file:
7 path: /mnt/file ##檔案存在時,修改檔案,不存在時建立檔案
8 owner: linux
9 group: linux
10 mode: 0600
11 state: touch
12 - name: set selinux
13 file:
14 path: /mnt/file
15 setype: samba_share_t
16 - name: verify the status
17 stat:
18 path: /mnt/file
19 checksum_algorithm: md5
20 register: result
21 - debug:
22 msg: "the checksum is }"
【注】永久設定selinux
##永久設定selinux
...
16 - name: set selinux
17 sefcontext: ##永久設定引數
18 target: /mnt/file
19 setype: samba_share_t
20 state: present
......
file主要是對檔案的管理,屬性的配置等多個問題;template主要是通過呼叫模板,對受控主機進管理,雖然都是在受控主機產生檔案並進行相應操作,但是側重點是不同的。template更側重於檔案管理中的copy。
4.1 synchronzie 同步控制節點和受管主機之間的檔案
##synchronize
- name:
synchonize:
src:file ##當前play目錄下的file同步到/mnt/file
dest: /mnt/file
4.2 fetch 從受管主機拷貝到當前主機
##fetch
- name: fetch
fetch:
src: /mnt/file
dest: /mnt/
flat: yes ##flat表示是否將dest以/結尾看成檔案,
##上述事將/mnt/看成檔案,將file直接儲存下來
ansible 在受管節點上管理檔案
常用檔案模組 模組作用 blockinfile 將文字塊新增到現有檔案 copy 將檔案複製到受管主機 fetch 從受管主機拷貝檔案到控制節點 file 設定檔案屬性 lineinfile 確保特定行位於某個檔案 stat 檢索檔案狀態資訊 synchronize rsync 命令的乙個打包程式 ...
通過cmd進行檔案格式的轉換
步驟如下 1.將你需要轉換的檔案中的所有最小子檔案複製在相應盤的根目錄下,用命令盤名 進行轉盤 ps 也可不用複製,只要將路徑找到就好 2.輸入命令copy b 最小子檔名稱的首個字元 當前的檔案格式 轉為其它格式的檔名 自己任意取 轉換的檔案的格式。copy b ps 這裡的b表示的是流的意思 3...
使用Maven進行多環境部署的配置檔案管理
1 首先配置profiles清單 dev dev true release release 其中properties可以配置一些屬性,用於填充佔位符。2 根據啟用的profile載入指定的配置檔案進行填充佔位符配置檔案 src main resources mysql properties src ...