一.關於crontab
有些Ubuntu 版本,cron是被默認安裝並啓動的。若是沒有啓動,自行設置並啓動(chkconfig\sysv-rc-conf)。配置文件/etc/crontab:
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Ubuntu調用run-parts命令,定時運行四個目錄下的全部腳本。
/etc/cron.hourly下的腳本會被每小時運行一次,在每小時的17分時運行。
/etc/cron.daily下的腳本會被天天運行一次,在天天6點25分運行。
/etc/cron.weekly下的腳本會被每週運行一次,在每週第7天的6點47分運行。
/etc/cron.monthly下的腳本會被每個月運行一次,在每個月1號的6點52分運行。
以上執行時間可自行修改
二.關於shell腳本
只須要把計劃運行的腳本放到相應目錄中就能夠了。不過須要注意如下兩點:
1.腳本文件的名稱不能包含「.」符號。你能夠寫成「im-alarm」,但不要寫成「im-alarm.sh」。(由於命名問題,遇到過不執行的狀況)
2.腳本開頭必須加上「#!/bin/bash」,不然run-parts調用不成功。
不然直接用run-parts運行時會致使這樣的錯誤:
run-parts: failed to exec /etc/cron.hourly/backup-website: Exec format error
run-parts: /etc/cron.hourly/backup-website exited with return code 1
三.啓動與中止
ubuntu下啓動、中止與重啓cron
sudo /etc/init.d/cron start
sudo /etc/init.d/cron stop
sudo /etc/init.d/cron restart
查看cron是否在運行:
pgrep cronweb