轉自:http://linux-kernel.blog.sohu.com/309481470.html
html
任務計劃
1.在將來某時間點執行一次任務
at
batch 不須要指定時間 在系統較空閒時自動執行
at的使用: at 時間
at>COMMAND
at>CTRL+D 提交
指定時間:
絕對時間:HH:MM DD.MM.YY MM/DD/YY
相對時間:now+# 單位minutes hours days weeks
模糊時間:noon midnight teatime
命令的執行結果:以郵件方式發送給安排任務用戶
at —l=atq 顯示待執行的做業號
at -d AT_JOB_ID=atrm AT_JOB_ID刪除做業號
/etc/at.deny 出現的用戶禁止使用deny
/etc/at.allow
二、週期性的執行
cron:自身是一個不間斷運行的服務
anacron: cron的補充,可以實現讓cron由於各類緣由在過去的時間該執行而未執行的任務在恢復正常執行一次;
cron:
系統cron任務:
/etc/crontab
分鐘 小時 天 月 周 用戶 任務
用戶cron任務:
/var/spool/cron/USERNAME
分鐘 小時 天 月 周 任務
時間的有效取值:
分鐘:0-59
小時:0-23
天:1-31
月:1-12
周:0-7,0和7都表示週日
時間通配表示:
*: 對應時間的全部有效取值
3 * * * * 每小時第3分鐘執行
3 * * * 7 每週日的每小時的第三分鐘執行
13 12 6 7 * 每一年7月6號12點13分
,: 離散時間點:
10,40 * * * * 每小時的第10分鐘和第40分鐘
10,40 02 * * 2,5
-:連續時間點:
10 02 * * 1-5 每週一到週五的2點十分
/#: 對應取值範圍內每多久一次
*/3 * * * * 每3分鐘執行一次
每兩小時執行一次:
08 */2 * * *
每兩天執行一次:
10 04 */2 * *
執行結果將以郵件形式發送給管理員:
*/3 * * * * /bin/cat /etc/fstab > /dev/null 只將錯誤結果發郵件 執行時最好直接帶PATH路徑
cron的環境變量:cron執行全部命令都去PATH環境變量指定的路徑下去找
PATH /bin:/sbin:/usr/bin:/usr/sbin
腳本用到cron時,能夠先定義PATH: export PATH=
腳本就會用自定義的PATH
用戶任務的管理:
crontab
-l: 列出當前用戶的全部cron任務
-e: 編輯
-r: 移除全部任務
-u USERNAME: 管理其用戶的cron任務
anacron: /etc/anacrontab
肯定服務是否已經開啓:service crond status
service anacron status
chkconfig --list crond
linux