Cron任務簡介
計劃任務是我們在日常伺服器管理工作經中常要涉及的資源之一,那麼如果我們有衆多的伺服器,如何來進行有效、快速的計劃任務管理呢(添加、删除、調整計劃任務等),作為一個好用的自動化運維工具,puppet能友善地實作對計劃任務的有效的管理。
Puppet cron的任務就是用來安裝和管理計劃任務。每一個cron資源需要一個command屬性和user屬性以及至少一個周期屬性(hour, minute, month, monthday, weekday)。計劃任務的名字不是計劃任務的一部分,它是puppet用來存儲和檢索該資源。假如你指定了一個除了名字其他的都和一個已經存在的計劃任務相同,那麼這兩個計劃任務被認為是等效的,并且新名字将會永久地與該計劃任務相關聯。一旦這種關聯建立并寫入磁盤之後,你就可以友善的進行計劃任務的管理了。可以通過檔案的方式來管理計劃任務也可以通過計劃任務格式來管理計劃任務。
Puppet cron任務參數
command
計劃任務執行的指令,最好指定指令的完整路徑。
2. ensure
定義資源是否存在,也有通過這個參數來删除指定的計劃任務。可能的值為present、absent。
3. environment
和這個計劃任務有關的環境變量,比如設定PAHT, <code>PATH=/bin:/usr/bin:/usr/sbin</code><code>。</code>
4. hour
指定計劃任務X小時運作,如果指定話,值的範圍必須設定在0-23之間。
5. minute
指定計劃任務在X分鐘運作,如果指定話,值的範圍必須設定在0-59之間。
6. month
指定計劃任務在一年中的X月運作,如果指定話,值的範圍必須設定在1-12之間。
7. monthday
指定計劃任務在一個月的X天運作,如果指定話,值的範圍必須設定在1-31之間。
8. name
指定計劃任務的名字,這個名字隻是提供給任命做參考,并且
9. target
計劃任務的存放位置。
10. user
指定執行計劃任務中指令的使用者。puppet不會去檢查使用者是否運作執行計劃任務,但是這個使用者必須允許執行計劃任務。預設的使用者為運作puppet的使用者。
11. weekday
指定計劃任務在一周的X天運作。如果指定話,值的範圍必須設定在0-7之間。注意0是表示星期天。
Puupet cron 任務實戰
通過cron格式來管理計劃任務
首先我們寫一個最簡單的假話任務來管理我們的伺服器上的時間,代碼如下:
cron { ntpdate:
command => "/sbin/ntpdate asia.pool.ntp.org",
user => root,
hour => [3,9,14,19],
minute => 59
}
設定3,9,14,19小時59分的時候進行時間同步,agent從主上同步玩配置以後,會在agent的假話任務中添加如下的内容:
# Puppet Name: ntpdate
59 3,9,14,19 * * * /sbin/ntpdate asia.pool.ntp.org
将上面的計劃任務設定成每十分中運作一次,代碼如下:
minute => '*/10'
在agent生成的計劃任務如下:*/10 * * * * /sbin/ntpdate asia.pool.ntp.org
删除時間同步的計劃任務,代碼如下:
minute => '*/10',
ensure => "absent";
本文轉自yzy121403725 51CTO部落格,原文連結:http://blog.51cto.com/lookingdream/1845573,如需轉載請自行聯系原作者