資源介紹:
常用資源: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相反