cron任務計劃:
任務計劃:
在未來的某個時間點執行一次任務
at:
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 加作業号 删除作業
batch bash是不需要指定時間的,但也是執行一次,自動選擇系統較空閑的時刻再執行任務,
其他格式跟at相同。
周期性地執行某任務:
cron:自身是一個不間斷運作的服務
anacron:cron的補充,能夠實作讓cron因為各種原因在過去的時間改執行而未執行的任務再恢複正常執行一次,其他格式跟at相同。
cron:
系統cron任務:
/etc/crontab
分鐘 小時 天 月 周 使用者 任務
使用者cron任務:
/var/spool/cron/USERNAME
分鐘 小時 天 月 周 任務
時間的有效取值:
分鐘:0-59
小時:0-23
天:1-31
月:1-12
周:0-7,0和7都表示周日 一般來說周和幾号不能同用
時間通配表示:
*:對應的所有有效取值
3 * * * *:每小時的第三分鐘執行一次
3 * * * 7::每個周日的每小時的第三分鐘
13 12 * *:每天的12點13 分鐘
,:離散時間:
10,40 02 * * 2,5:每周二,周五的兩點10分,40分執行一次
-: 連續時間點
10 02 * * 1-5:每周從周一到周五的兩點10分
/#:對應取值範圍内每多久一次
比某個時間小的時間點要給個具體值:
例如:
每兩小時執行一次:不是* */2 * * *
而是 08 */2 * * * 前面的具體值是什麼不影響結果
*/3 * * * *:每3分鐘執行一次的任務
執行結果将以郵件形式發給管理者:
*/3 * * * * /bin/cat /etc/fstab &> /dev/null
cron 的環境變量:cron執行所有指令都去PATH環境變量指定的路徑下去找
PATH /bin:/sbin:/usr/bin:/usr/sbin
寫腳本時:
先指定路徑:
例子:
#!/bin/bash
#
export PATH=
系統cron:
打開 /etc/crontab

可以直接定義PATH
SHELL:定義使用哪個shell
執行的指令就是run-parts後面的指令
使用者任務的管理:
crontab
-l:列出目前使用者的所有cron任務
-e:編輯
-r:移除所有任務
-u:USERNAME:管理其使用者的cron任務
anacron
當編輯cron任務時:
crontab -e
其結果通過發郵件給我們