puppet運維自動化之schedule管理
【導讀】
在熟悉puppet過程中,我們可以了解到puppet管理各種資源,像常用的file,service,,user,group等,本次是sky是給大家講下puppet運維自動化之schedule管理,schedule英文單詞的意思是調度,計劃安排,sky想到這就想起crontab,在linux中大家都知道,crontab可以調度,進行計劃安排,那schedule和cron有啥不同,為什么puppet管理中有schedule和cron資源呢?
【schedule 參數說明】
schedule 調度puppet運行時間。
參數說明:
name 名稱:
period 時間安排,可以是按小時,天,周,月。注意在設置了periodmatch的下,有效值可以為hourly, daily, weekly, monthly, never.
periodmatch 時間匹配,有效值為number, distance.
range 時間范圍
repeat 重復次數,默認為1,且必須為整數.
puppet schedule 參數就這么多,比較簡單,puppet shcedule參數就介紹完了,
接下來sky就寫了個簡單代碼示例:
【schedule 代碼示例】
schedule { "test-by-sky": period => daily, range => [ "10:00-12:00"], repeat => 1, } exec { "/bin/echo test by sky hello everyone!": schedule => "test-by-sky", }
【schedule 總結】
使用puppet schedule可以安理安排puppet的運行時間,在回到導讀的那些問題上來,看了上面的代碼,再想想,puppet管理cron資源之間有啥差異不?
看下puppet cron代碼示例:
cron { ntpdate: command => "/usr/sbin/ntpdate 192.168.0.1&&/sbin/clock -w", user => root, minute =>'*/5', require => Package["crontabs"]; }
我們從中可以看出些什么,schedule是個安排計劃,還得有具體的執行人去執行,而cron會生成crontab文件,由系統crontab運行,cron主要是用來做系統相關操作上的調度,用得比較多,schedule也可以做到,當然這兩個都可以安排計劃,具體是要用cron還是schedule仁者見仁,智者見智。