1. 程式人生 > >Linux Crontab 計劃任務

Linux Crontab 計劃任務

crond 是linux下用來週期性的執行某種任務或等待處理某些事件的一個守護程序,與windows下的計劃任務類似,當安裝完成作業系統後,預設會安裝此服務 工具,並且會自動啟動crond程序,crond程序每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。

crontab是Unix和Linux用於設定週期性被執行的指令,是網際網路很常用的技術,很多工都會設定在crontab迴圈執行,如果不使用crontab,那麼任務就是常駐程式,這對你的程式要求比較高,一個要求你的程式是24X7小時不宕機,一個是要求你的排程程式比較可靠,實際工作中,90%的程式都沒有必要花這麼多時間和精力去解決上面的兩個問題的,只需要寫好自己的業務邏輯,通過crond這個工業級程式去排程就行了,crond的可靠性,健壯性,大家應該是毫無疑問的。

在linux下的crontab會自動幫我們每分鐘重新讀取一次/etc/crontab的例行工作事項,但是某些原因或在其他的unix系統中,由於crontab是讀到記憶體中,所以在您修改完/etc/crontab之後可能並不會馬上執行,這時請重新啟動crond服務。

重啟命令使用  /etc/init.d/crond restart 或者 service crond restart

有兩種方式新增計劃任務到cron:

1. 直接用vim編輯 /etc/crontab檔案

2. 使用crontab -e命令

它們的區別是:

a. 使用範圍不同: 修改/etc/crontab這種方法只有root使用者能用,這種方法更加方便與直接給其他使用者設定計劃任務,而且還可以指定執行shell等等。 crontab -e這種所有使用者都可以使用,普通使用者也只能為自己設定計劃任務。然後自動寫入/var/spool/cron/usename。

b. crontab -e 會進行語法檢查,vi 不會檢查語法。