1.文件管理介紹:
可管理的項目:
- 支持文件和目錄
- 設置文件及目錄的所有者及權限
- 恢復文件(包括文件的內容、權限及所有者)
- 清理目錄以及子目錄
- ensure :指定文件的狀態,狀態包括 abent(刪除)、present(創建),也可指定文件類型 file(文件)、directory(目錄)、link(鏈接文件)
- backup :指定在文件內容替換之前進行備份操作,可以備份在本地,也可以集中備份
- owner|user : 指定文件屬主,可以是用戶名或者UID
- group :指定該文件的用戶組,可以是組名或者GID
- ignore :忽略指定的匹配文件,可以匹配目錄結構
- links:軟連接,這個參數指定處理文件期間如何處理鏈接文件,可以設置follow和manage。在拷貝文件的時候,follow將會拷貝目標文件代替鏈接文件,manage將只會拷貝鏈接文件,ignore將會跳過
- mode :指定文件的權限,值一般為unix數字形式
- path:指定agent端文件的路徑,必須使用雙引號,如果不定義此項,默認為資源的titile
- purge : 清空目錄中沒有被puppet管理的文件或目錄,必須和recurse=>true同時使用
- force:強制執行刪除文件、軟連接及目錄操作,該參數強制執行文件如下操作的時候必須指定force參數 purge 子目錄、 用文件或者鏈接文件替換目錄、 使用ensure => absent參數刪除目錄
- recurse:這個參數指定是否進行遞歸調用以及遞歸調用的深度,值為 inf,true(在遠程和本地都進行遞歸調用)、remote(只在遠程進行遞歸調用)、false(不進行遞歸調用)、數字(true參數一樣,但是限制遞歸調用目錄的深度)
- source 指定將會被拷貝到指定位置的資源文件,值可以是指定遠程文件的URIS或者本地的完整路徑
- target:指定創建鏈接文件的目標文件或者目錄
- content:指定文件內容,不能和source target同時使用
class base::script {0 file { "/data/script" : ensure => directory, owner => "root", group => "root", path => "/data/script", } file { "/data/script/sa.sh": ensure => file, owner => "root", group => "root", mode => "755", source => "puppet:///modules/base/script/sa.sh", } } class base::yum { file { "/etc/yum.repos.d": ensure => directory, recurse => true, purge => true, force => true, source => "puppet:///modules/base/yum", } }