資源介紹:
常用資源:file、service、package
工具資源:exec、cron、user、group
資源總結
file
ensure =>(指定文件狀態)
present 檢查文件是否存在,不存在就創建
absent 檢查文件是否存在,存在就創建
directory 指定這是目錄
path =>(文件完整路徑,默認與title相同)
source => 文件獲取地址,以puppet://開頭爲從master讀取
content => 文件的內容
recurse => 對目錄是(true)否(false)遞歸(ensure => directory時有效)
owner => 文件所屬用戶
group => 文件所屬組
mode => 文件權限
package:
ensure => 指定軟件包狀態
present 檢查包是否存在,不存在就安裝(也可寫成installed)
absent 檢查包書否存在,存在就卸載
laster 檢查包是否是最新的,不是則升級爲最新
pureged 乾淨移除該軟件
name => 軟件包的名稱
source => 獲取安裝包的地址
service:
ensure => 指定服務狀態
running 正在運行中
stopped 停止狀態
enable => 服務是否開機自啓動
true 開機啓動
false 開機不啓動
name => 服務名稱,默認與title想同
start、stop、restart、status => 服務的啓動、關閉、重啓等(start => "/etc/init.d/nginx start")
hasrestart => false/true 該管理腳本支持restart指令,默認false,沒有則使用stop/start來重啓
hasstatus => false/true 該腳本是支持status指令,默認false,沒有則使用grep來判斷
pattern => "XXX" 設置收索進程的指定字符串,當不支持restart/status命令時,grep根據該值來收索
binary => 當服務沒有init腳本時,將直接使用該程序的二進制包本體。binary屬性的值即爲該本體的完整路徑
subscribe => File["配置文件路徑"] 當配置文件改變,重啓服務
user:
ensure => 指定用戶狀態
present 如果用戶不存在則生成
absent 刪除用戶
name => 用戶名,默認和title相同
uid => 用戶ID,不指定則自動生成
gid => 用戶所屬組的GID
groups => 該用戶所屬的用戶組名,可爲列表
home => 用戶家目錄
managehome => 是否自動生成家目錄,默認爲false,需要手動指定
shell => 用戶登陸後默認分配的shell(/bin/bash|/sbin/nologin)
group:
ensure => 指定用戶組狀態
present 如果用戶組不存在則創建
absent 用戶組存在則刪除
name => 用戶組名,默認爲title
gid => 用戶組ID
system => 該用戶組是否是系統組,使用的較小GID,默認爲false
members => ['user1','user2'] 組成員
cron:
ensrure => 指定計劃任務的狀態
present 如果該cron不存在則添加
absent 如果該cron存在則刪除
command => 欲執行的腳本命令和路徑
hour(0-23), minute(0-59), month(1-12), monthday(1-31), weekday(0-7)=> 計劃任務的時間安排,支持列表(如:[2, 4])
user => 執行給cron的用戶
exec:
path => 設置命令路徑,和PATH環境變量一樣
command => 運行的命令,如果沒有指定path則需要寫完整路徑
creates => “filename” 文件不存在則創建
cwd => 指定命令執行的目錄,如果不存在則執行失敗
onlyif => 當該屬性中的命令執行成功,這條命名纔回去運行
unless => 與onlyif相反