計劃任務crontab

fsl發表於2014-10-09

 

安裝crontab服務

1, yum install -y vixie-cron  

如果提示crond命令不存在,可能被誤刪除了,CentOS下可以通過這個命令重新安裝:

yum -y install crontabs

 

2,crontab檔案所在位置【centos】

/var/spool/cron

 

3,crontab配置檔案

 vim /etc/crontab

 

3.2 /etc/cron.deny 和 /etc/cron.allow 檔案 

/etc/cron.deny 表示不能使用crontab 命令的使用者

/etc/cron.allow 表示能使用crontab的使用者。 

如果兩個檔案同時存在,那麼/etc/cron.allow 優先。

如果兩個檔案都不存在,那麼只有超級使用者可以安排作業。 

 

 

4,檢視crontab

crontab  -l

5,編輯crontab

crontab -e

6,刪除crontab

crontab  -r

 

7,檢視計劃任務是否執行
看/var/log/cron這個檔案就可以,可以用tail  -f /var/log/cron觀察
 
8,cron的啟動和停止
/etc/init.d/crond start
/etc/init.d/crond stop
/etc/init.d/crond restart

service crond start|stop|restart| reload



 

Crontab 格式說明

我們可以用crontab -e新增要執行的命令。 命令執行的結果,無論是標準輸出還是錯誤輸出,都將以郵件形式發給使用者。

 

新增的命令必須以如下格式:

* * * * * /command path

 

前五個欄位可以取整數值,指定何時開始工作,第六個域是字串,即命令欄位,其中包括了crontab排程執行的命令。各個欄位之間用spaces和tabs分割。

 

前5個欄位分別表示:

分鐘:0-59

小時:1-23

日期:1-31

月份:1-12

星期:0-6(0表示週日)

 

還可以用一些特殊符號:

*:表示任何時刻

,: 表示分割

  -:表示一個段,如第二端裡: 1-5,就表示1到5點

/n :表示每個n的單位執行一次,如第二段裡,*/1,就表示每隔1個小時執行一次命令。也可以寫成1-23/1.

 


 

例子

#每15分鐘執行一次ls命令 [即每個小時的第0 15 30 45 60分鐘執行ls命令 ]
*/15 * * * * ls

#每小時的1分鐘開始
01 * * * * root run-parts /etc/cron.hourly

#每天4:02開始
02 4 * * * root run-parts /etc/cron.daily

#星期日4:22開始
22 4 * * 0 root run-parts /etc/cron.weekly

#每月的1號的4:42開始
42 4 1 * * root run-parts /etc/cron.monthly

5       *       *           *     *     ls             指定每小時的第5分鐘執行一次ls命令 
30     5       *           *     *     ls             指定每天的 5:30 執行ls命令 
30     7       8         *     *     ls             指定每月8號的7:30分執行ls命令 
30     5       8         6     *     ls             指定每年的6月8日5:30執行ls命令 
30     6       *           *     0     ls             指定每星期日的6:30執行ls命令

相關文章