Linux 定時工作排程 (crontab)

安裝crontab

yum install vixie-cron
service crond start
chkconfig crond on

在linux系統中,cron 排程的資料是存在/etc/crontab中
我們可以直接輸入 vi /etc/crontab進行編輯

Cron語法:
說明:cron是一個守護程序,它提供定時器的功能,讓用戶在特定的時間得以執行默認的指令或程序.只要用戶會編輯定時器的設置文件,就可以使用定時器的功能. 定時器文件格式:
 
分 時 日 月 周 [使用者] command
0 4 * * * root updatedb #每天早上4:00以root用戶身份執行updatedb命令
 
# For details see man 4 crontabs
 
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
0 4 * * * root echo 3 > /proc/sys/vm/drop_caches
這個例子是要系統每天凌晨4點清理一次記憶體
 
Cron 範例 ( Example )
 
每5分鐘執行一次
 
*/5 * * * * root /usr/libexec/atrun
每5小時執行一次
 
* */5 * * * root /usr/libexec/atrun
1至20號每天執行一次
 
0 1 1-20 * * root /usr/libexec/atrun
當分針移到第5分時,執行此 cron
 
5 * * * * root /usr/libexec/atrun
當時針移到1點 1 分時,執行此 cron
 
1 1 * * * root /usr/libexec/atrun
每週一的1點1分,執行
 
1 1 * * 1 root /usr/libexec/atrun
2月29日時針到1點1分,執行
 
1 1 29 2 * root /usr/libexec/atrun
8點到16點每5分鐘執行一次 cron
 
*/5 8-16 * * * root /usr/libexec/atrun
 
最後要確保cron 排程一定會執行
檢查一下crontab是否啟動

/etc/init.d/crond start

查看crontab服務是否已設置為開機啟動,執行命令:ntsysv
 
加入開機自動啟動:

chkconfig --level 2345 crond on

ERIC2803

上一篇 台中海賊王彩繪牆
下一篇 彰化福興鄉福寶村的乳牛彩繪村-藍晒圖