天天看點

Puppet資源總結

資源介紹:

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