任務計劃
計劃未來的時間
1、在未來的某個時間點執行一次某任務;
at:後面直接跟時間, at>COMMAND
at>
at>Ctrl+d結束,
指定時間的方法:
絕對時間:HH:MM, DD.MM.YY MM/DD/YY
相對時間:now+#
機關:minutes, hours, days, weeks
模糊時間:noon, midnight, teatime
指令的執行結果将以郵件的形式發送給安排任務的使用者,mail可以檢視
<a href="http://blog.51cto.com/attachment/201303/010327610.jpg" target="_blank"></a>
at -l = atq顯示作業
<a href="http://blog.51cto.com/attachment/201303/010336226.jpg" target="_blank"></a>
at -d AT_JOB_ID = atrm AT_JOB_ID 删除作業
batch:自動選擇系統相對空閑的時間來執行任務
2、周期性地執行某任務;
cron:自身是一個不間斷的服務
anacron:cron的補充,能夠實作讓cron因為各種原因在過去的時間該執行而沒執行的的任務在正常執行一次;
伺服器上一般不啟用anacron,一般在關機的筆記本等伺服器上才啟用
cron:
系統cron任務:系統為了周期性的執行某些任務執行的任務;如每天0晨執行更新系統資料
/etc/crontab
分鐘 小時 天 月 周 使用者 任務
使用者cron任務
/var/spool/cron/USERNAME
分鐘 小時 天 月 周 任務
時間的有效取值:
分鐘:0-59
小時:0-23
天:1-31
月:1-12
周:0-7,0和7都表示周日
時間通配表示:
*:對應時間的所有有效取值
3 * * * * :表示每小時的3分執行
3 * * * 7 :表示每周日的每小時的第3分
13 12 * * * :每天的12點13分執行
,:離散時間點:
10,40 * * * * :每小時的10分和40分執行
-:連續時間點:
10 02 * * 1-5 :每周的周一到周五的2點10分執行
/#:對應取值範圍内每多久一次
*/3 * * * *:每三分鐘一次的任務
每2小時執行一次 08 */2 * * *
執行結果錯誤的将以郵件形式發送給管理者:
*/3 * * * * /bin/cat /etc/fstab > /dev/null
cron的環境變量:cron執行所有指令都去PATH環境變量指定的路徑下去找
PATH /bin:/sbin:/usr/bin:/usr/sbin
是以最好要寫上絕對路徑:bin/cat
腳本中可以定義PATH變量
如export PATH=
<a href="http://blog.51cto.com/attachment/201303/010401590.jpg" target="_blank"></a>
想要将其運作次序提前,在其前邊加0或者它自動排序是以字母排序的,可以利用這點
<a href="http://blog.51cto.com/attachment/201303/010418173.jpg" target="_blank"></a>
使用者的cron任務管理:
crontab
-l:列出目前使用者的所有cron任務
-e:編輯(可以自動檢測文法錯誤)
<a href="http://blog.51cto.com/attachment/201303/010540278.jpg" target="_blank"></a>
随便寫1個時提示是否重新編輯
-r:移除所有任務
-u USERNAME:管理其他使用者的cron任務
anacron:
/etc/anacrontab
配置本機每隔2天在淩晨3點20備份一次/etc目錄,備份檔案存放至/backup/etc/目錄,檔案名形式如:etc-2012-06-20.tar.bz2
20 3 /3 * * cp -a /etc | cpio -H newc --quiet -o | bzip -k /backup/etc/etc-`date +%F`.tar.bz2
<a href="http://blog.51cto.com/attachment/201303/010626111.jpg" target="_blank"></a>
65表示開機65分後補充運作上次沒運作的任務,以此類推
本文轉自 陳延宗 51CTO部落格,原文連結:http://blog.51cto.com/407711169/1167714,如需轉載請自行聯系原作者