2.6 計劃任務
Linux系統有兩種計劃任務,一種是隻會執行一次at計劃任務,一種是可以周期性地執行的cron計劃任務。
2.6.1 at一次性計劃任務
使用at指定一次性計劃任務前需要確定atd服務是開啟的,否則計劃任務不會被執行,使用service atd start開啟服務,并使用chkconfig atd on確定該服務開機啟動。
at
描述:在指定的時間執行特定的指令
用法:at 時間
選項:-m當計劃任務執行結束後發送郵件給使用者
-l檢視使用者計劃任務
-d删除使用者計劃任務
-c檢視at計劃任務具體内容
[root@instructor ~]# at 1213
at> ls -l /tmp
at> <EOT> (Ctrl+D)
job 7 at 2014-08-15 12:13
at指令可以使用的時間格式有很多,at 小時:分鐘(預設代表當天時間),at 4pm+3days(代表3天後的下午4點執行計劃任務),at 12:00 2014-12-12(指定年月日及日期的計劃任務),具體可以參考at幫助手冊。
2.6.2 cron周期性計劃任務
使用cron指定一次性計劃任務前需要確定crond服務是開啟的,否則計劃任務不會被執行,使用service crond start開啟服務,并使用chkconfig crond on確定該服務開機啟動。
crontab
描述:為每個使用者維護周期性的計劃任務
用法:crontab [-u 使用者] [-l|-r|-e]
選項:-u指定計劃任務的使用者,預設為目前使用者
-l檢視計劃任務
-r删除計劃任務
-e編輯計劃任務
-i使用-r删除計劃任務時,要求使用者确認删除
表2-8
第一列 | 第二列 | 第三列 | 第四列 | 第五列 | 第六列 |
分 | 時 | 日 | 月 | 周 | 指令 |
00~59 | 00~23 | 1~31 | 1~12 | 0~7(0、7代表周日) |
如果需要指定的是時間段,可以使用橫杠(-)表示一段連續的時間,使用逗号(,)表示若幹個不連續的時間,使用星号(*)表示所有的時間,使用(/)表示間隔時間。
[root@instructor ~]# crontab -e
50 12 15 8 * /usr/bin/free | mail -s "Mem" root
Centos系統自定義了很多計劃任務腳本,分别存放在/etc/下的cron.daily/、cron.hourly/、cron.monthly/、cron.weekly/等目錄中,如果你有腳本需要每天執行,可以将腳本存放在cron.daily/目錄中,系統會自動幫你每天運作該腳本。
2.6.3 計劃任務權限