crontab -讓服務器執行定時任務

一、啓動服務

  通常啓動服務用 "/sbin/service crond start"就能夠了,若是是root用戶就是 "sudo service crond start"。若是是想開機啓動那麼就是用"chkconfig crond on"便可。nginx

二、查看運行狀態

  能夠經過查看進程" ps -ax | grep cron ",能夠經過查看服務狀態"service crond status"。shell

三、查看現有的定時任務

  經過命令 "crontab -l"能夠查看現有的定時任務。vim

四、進入編輯狀態

  運行" crontab -e",進入編輯狀態,好比日誌

#get ssl cert
0 0 1 * * /etc/nginx/ssl/getcert.sh >> /etc/nginx/ssl/get.log

  而後按"ESC"鍵,輸入"wq"保存並退出便可,跟vim的編輯同樣。保存後能夠用 "crontab -l"看看是否添加成功。code

五、格式說明

  可用crontab -e命令來編輯,編輯的是/var/spool/cron下對應用戶的cron文件,也能夠直接修改/etc/crontab文件,具體的格式是
Minute Hour Day Month Dayofweek command
分鐘 小時 天 月 天每星期 命令
好比進程

5 * * * * ps       #表示每小時的第5分鐘執行一次ps命令  
5 5 * * * ps      #表示天天的5時5分執行一次ps命令  
5 5 5 * * ps      #表示每個月的5號5時5分執行一次ps命令  
5 5 5 5 * ps     #表示每一年的5月5號5時5分執行一次ps命令  
5 5  * * 5 ps     #表示每週5的5時5分執行一次ps命令  0表示星期天,1表示星期1

六、一些特殊字符

記住幾個特殊符號的含義:
「*」表明取值範圍內的數字
「/」表明」每」
「-」表明從某個數字到某個數字
「,」分開幾個離散的數字
好比crontab

* /5 * * * * ps    #表示每隔5分鐘執行一次ps命令  
* */5 * * * ps    #表示每隔5小時執行一次ps命令  
5 */5 * * * ps    #表示每隔5小時的第5分鐘執行一次ps命令  
5 5-10 * * * ps    #表示天天的5-10小時中的第5分鐘執行一次ps命令  
5 5,10 * * * ps    #表示天天的5和10小時中的第5分鐘執行一次ps命令

七、一點技巧

執行命令的時候通常都須要保存日誌來看看是否真的執行,因此在命令中用到">> /home/ps.log"這樣的方式來保存執行的日誌。
好比說 " */5 * * * * ps >> /home/ps.log "表示每隔5分鐘執行一次ps命令 ,而後把輸出的結果保存到了/home/ps.log 文件中ssl

八、crontab的命令參數

  • crontab -u //設定某個用戶的cron服務,通常root用戶在執行這個命令的時候須要此參數
  • crontab -l //列出某個用戶cron服務的詳細內容
  • crontab -r //刪除沒個用戶的cron服務
  • crontab -e //編輯某個用戶的cron服務
相關文章
相關標籤/搜索