一 crontab介紹linux
crontab 是linux 用來按期執行程序的命令,默認系統會啓動此任務調度命令。crontab命令每分鐘會按期檢查是否有要執行的工做,如有便會自動執行。web
二 命令格式shell
crontab -l|-r|-e|-i [username]apache
-l 顯示用戶的crontab文件的內容dom
-i 刪除crontab文件時給出提示spa
-r 從crontab目錄中刪除用戶的crontab文件rest
-e 編輯用戶的crontab文件code
三 應用實例orm
基本格式 :crontab
* * * * * command
分 時 日 月 周 命令
第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要運行的命令
30 21 * * * /usr/local/apache/bin/apachectl restart #上面的例子表示每晚的21:30重啓apache。 45 4 1,10,22 * * /usr/local/apache/bin/apachectl restart #上面的例子表示每個月一、十、22日的4 : 45重啓apache。 10 1 * * 6,0 /usr/local/apache/bin/apachectl restart #上面的例子表示每週6、週日的1 : 10重啓apache。 0,30 18-23 * * * /usr/local/apache/bin/apachectl restart #上面的例子表示在天天18 : 00至23 : 00之間每隔30分鐘重啓apache。 0 23 * * 6 /usr/local/apache/bin/apachectl restart #上面的例子表示每星期六的11 : 00 pm重啓apache。 * */1 * * * /usr/local/apache/bin/apachectl restart #每一小時重啓apache * 23-7/1 * * * /usr/local/apache/bin/apachectl restart #晚上11點到早上7點之間,每隔一小時重啓apache #每個月天天每小時的第 0 分鐘執行一次 /bin/ls : 0 * * * * /bin/ls #在 12 月內, 天天的早上 6 點到 12 點中,每隔 20 分鐘執行一次 /usr/bin/backup : */20 6-12 * 12 * /usr/bin/backup #週一到週五天天下午 5:00 寄一封信給 ranger@domain.name : 0 17 * * 1-5 mail -s "hi" ranger@domain.name < /tmp/maildata #每個月天天的午夜 0 點 20 分, 2 點 20 分, 4 點 20 分....執行 echo "haha" 20 0-23/2 * * * echo "haha" #晚上11點到早上8點之間每兩個小時,早上8點 0 23-7/2,8 * * * date
四 重啓服務
/sbin/service crond start //啓動服務 /sbin/service crond stop //關閉服務 /sbin/service crond restart //重啓服務 /sbin/service crond reload //從新載入配置
五 查看執行狀況
tail -f /var/log/cron