Cron任務簡介服務器
計劃任務是咱們在平常服務器管理工做經中常要涉及的資源之一,那麼若是咱們有衆多的服務器,如何來進行有效、快速的計劃任務管理呢(添加、刪除、調整計劃任務等),做爲一個好用的自動化運維工具,puppet能方便地實現對計劃任務的有效的管理。運維
Puppet cron的任務就是用來安裝和管理計劃任務。每個cron資源須要一個command屬性和user屬性以及至少一個週期屬性(hour, minute, month, monthday, weekday)。計劃任務的名字不是計劃任務的一部分,它是puppet用來存儲和檢索該資源。假如你指定了一個除了名字其餘的都和一個已經存在的計劃任務相同,那麼這兩個計劃任務被認爲是等效的,而且新名字將會永久地與該計劃任務相關聯。一旦這種關聯創建並寫入磁盤以後,你就能夠方便的進行計劃任務的管理了。能夠經過文件的方式來管理計劃任務也能夠經過計劃任務格式來管理計劃任務。ide
Puppet cron任務參數工具
commandspa
計劃任務執行的命令,最好指定命令的完整路徑。code
2. ensureorm
定義資源是否存在,也有經過這個參數來刪除指定的計劃任務。可能的值爲present、absent。ci
3. environment資源
和這個計劃任務有關的環境變量,好比設置PAHT, PATH=/bin:/usr/bin:/usr/sbin
。
get
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
將上面的計劃任務設置成每十分中運行一次,代碼以下:
cron { ntpdate:
command => "/sbin/ntpdate asia.pool.ntp.org",
user => root,
minute => '*/10'
}
在agent生成的計劃任務以下:*/10 * * * * /sbin/ntpdate asia.pool.ntp.org
刪除時間同步的計劃任務,代碼以下:
cron { ntpdate:
command => "/sbin/ntpdate asia.pool.ntp.org",
user => root,
minute => '*/10',
ensure => "absent";
}