1、at —— 在未來某個時間點執行一次某任務
使用實例:
at 時間:設定某個時間點
at>COMMAND
at>Ctrl+d
指定時間:
絕對時間:HH:MM,DD.MM.YY,MM/DD/YY
相對時間:now+3minutes
單位:minutes、hours、days、weeks
模糊時間:noon,midnight,teatime
命令的執行結果:以郵件的形式發送給安排任務的用戶
顯示jobs列表:atq = at -l
刪除jobs任務:atrm = at -d jobs號
2、crontab —— 週期性執行某任務
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分執行一次
13 12 * * *:每天的12點13分執行一次
, :離散時間點:
10,40 * * * *:每小時的10分和40分執行一次(半小時執行一次)
- :連續時間點:
10 02 * * 1-5:每週的週一到週五的2點10分執行
/ :對應取值範圍內每多久執行一次
*/3 * * * *:每三分鐘執行一次
example:
每兩小時執行一次:01 */2 * * *
每兩天執行一次:01 02 */2 * *
注:第一條分鐘必須給具體值,第二條分鐘和小時必須給具體值
注:cron執行所有命令都去PATH環境變量指定的路徑下去找,在cron任務裏應寫絕對路徑,腳本應定義PATH。
用戶任務的管理:
crontab
-l:列出當前用戶所有的cron任務
-e:編輯
-r:移除所有任務
-u USERNAME:管理其他用戶的cron任務