在網(wǎng)站建設過程中,很多應用需要用到定時任務,如定時備份、定時抓取、定時更新數(shù)據(jù)、重啟服務器等,這些都需要用到定時任務,Windows系統(tǒng)有個計劃任務,Linux則大多數(shù)人通過Cron完成。下面方維網(wǎng)絡為你介紹這個定時任務神奇。
Cron能做什么?
cron是Linux的一個程序,可以讓系統(tǒng)在指定的時間去執(zhí)行某個指定的工作,使用crontab指令來管理cron。
如何編輯crontab?
crontab -u //設定某個用戶的cron服務,一般root用戶在執(zhí)行這個命令的時候需要此參數(shù)
crontab -l //列出某個用戶cron服務的詳細內容
crontab -r //刪除沒個用戶的cron服務
crontab -e //編輯某個用戶的cron服務,最常用的了
很多人不熟悉Linux指令,編輯完如何推出呢?按Esc 然后輸入:wq即可保存,如果是用root登陸,一般記錄文件會保存在/var/spool/cron/目錄root文件,可直接修改里面的內容。
Crontab指令格式
* * * * * 命令
前面五個*參數(shù)是指時間
第一個 minute(分)可以設置0-59分
第二個 hour(小時)可以設置0-23小時
第三個 day of month(日期)可以設置1-31號
第四個 month(月份):可以設置1-12月
第五個 day of week(星期):可以設置0-7星期幾,其中0和7都代表星期天,或者我們也可以使用名稱來表示星期天到星期一,例如sun表示星期天,mon表示星期一等等
常用Crontab命令
每五分鐘執(zhí)行 */5 * * * *
每小時執(zhí)行 0 * * * *
每天執(zhí)行 0 0 * * *
每周執(zhí)行 0 0 * * 0
每月執(zhí)行 0 0 1 * *
每年執(zhí)行 0 0 1 1 *
如何安裝crontab
yum install crontabs
常用啟動關閉命令
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
service crond status //查看crontab服務狀態(tài):
service crond start //手動啟動crontab服務:
ntsysv //查看crontab服務是否已設置為開機啟動
chkconfig –level 35 crond on //加入開機自動啟動
* 23-7/1 * * * /etc/init.d/nginx restart //晚上11點到早上7點之間,每 隔一小時重啟nginx
0 11 4 * mon-wed /etc/init.d/nginx restart //每月的4號與每周一到周三 的11點重啟nginx
0 4 1 jan * /etc/init.d/nginx restart // 一月一號的4點重啟nginx
*/30 * * * * /usr/sbin/ntpdate 210.72.145.20 //每半小時同步一下時間
crontab執(zhí)行PHP腳本
以下兩種都行
*/1 * * * * /usr/local/php/bin/php test.php
0 * * * * /usr/bin/wget -q 網(wǎng)址/Index/dingshi
作為一個PHP程序員,了解這個工具非常有必要,希望對大家有幫助。