1、在未來的某個時間點執行一次某任務;
at
batch
at 時間
at>COMMAND
at>Ctrl+d
指定時間:
絕對時間:HH:MM DD.MM.YY MM/DD/YY 10:20
相對時間:now+#
單位:minutes ,hours , days ,weeks
模糊時間:noon(中午12點) ,midnight(凌晨12點) , teatime(下午4:00)
命令的執行結果,將以郵件的形式發送安排任務的用戶
at -l = atq 列出任務
at -d AT_JOB_ID = atrm AT_JOB_ID 刪除任務
2、周期性地執行某任務;
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分
11 13 * * 5每周五11點13分
,:離散時間點
10,40 * * * * 每半小時執行
5,35 * * * 2,5 每周2和周5每隔半小時執行
-:連續時間點:
10 02 * * 1-5 每周一到周五2點10分執行
/:對應取值范圍內每多久一次
*/3 * * * * 每三分鐘執行
每兩小時執行一次:05 */2 * * *
每兩天執行一次: 05 02 */2 * *
執行結果將以郵件形式發送給管理員:
*/3 * * * * cat /etc/fstab &> /dev/null 正確的執行結果和錯誤執行結果都不發送郵件
cron的環境變量:cron執行所有命令都去PATH環境變量指定的路徑下去找
PATH /bin:/shbin:/usr/bin:/usr/sbin
用戶任務的管理:
crontab:
-l :列出當前用戶的所有cron任務
-e: 編輯
-r:移除所有的cron任務
-u USERNAME: 管理其用戶的cron任務
anacron:
/etc/anacrontab
練習:配置本機每隔兩天在凌晨3點20備份一次/etc目錄,備份文件存放至/backup/etc目錄,文件如:etc-2016-10-20.tar.bz2


