ansible模組之file

概要說明

ansible是一款非常強大的自動化運維工具,使我們可以很快捷地實現對遠端目標伺服器的自動化運維,包括伺服器維護,檔案操作,實時監控,專案服務更新,備份等等N多行為,就像你手工遠端到伺服器的一系列操作,都可以透過ansible幫你完成,而且它還是可以批次操作的。今天介紹的是它的file模組。

1,file模組用來管理檔案和檔案屬性(刪除檔案、符號連結或目錄)

2,對於 遠端服務是Windows 目標,改用ansible。windows。win_file模組

引數說明

實際工作中比較常用的引數有:

path:要管理的檔案的路徑

state:狀態這個引數,它的值有,absent,

directory,

file,

hard,link,touch

absent:如果path指定是目錄,目錄將被遞迴刪除,

如果path指定是檔案,檔案將被刪除,檔案或符號連結將被取消連結

如果要刪除的目錄或檔案不存在,預設不會報錯。

directory:

使用

directory值

,則將建立所有中間子目錄(如果它們不存在)。

由Ansible 1。7開始,具有建立中間子目錄的許可權

file:如果使用file值 ,但沒有使用其它引數,則返回路徑的當前狀態

如果使用了其它引數,如mode,則會改變檔案的許可權,如果檔案不存在,

是不會建立檔案的。

hard:將建立或更改硬連結

link:

將建立或更改符號連結

touch:可以用來判斷檔案是否存在,如果不存在,將會建立一個空檔案。

mode:給檔案或目錄授權。授權時,如果你習慣用數字,如644,777等,

在ansible中需要寫成0644,0777,或寫成 “644”,“777”。

從1。8開始,可指使用符號授權(例如,u+rwx或u=rw,g=r,o=r)。

如果未指定mode,則新建立的檔案將按當前系統預設的許可權處理

該模組其他引數可參見下圖:

ansible模組之file

例項

更改檔案授權

- name: Change file permissions ansible。builtin。file: path: /root/foo。conf mode: ‘1777’

建立一個軟連結

- name: Create a link ansible。builtin。file: src: /path1/to/link/to dest: /path2/to/symlink state: link

刪除檔案(當foo。txt檔案不存在,將不會返回報錯)

- name: Remove file ansible。builtin。file: path: /root/foo。txt state: absent

刪除目錄(將刪除子目錄)

- name: Recursively remove directory ansible。builtin。file: path: /root/myfoo state: absent