通過Ansible進行的檔案管理

2021-10-04 22:47:16 字數 2102 閱讀 5359

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 ...