1. 程式人生 > >【Crontab】Ubuntu定時命令 crontab

【Crontab】Ubuntu定時命令 crontab

參考連結:1、http://xingyunbaijunwei.blog.163.com/blog/static/76538067201341294014683/

2、https://blog.csdn.net/fdipzone/article/details/22701113

1、ununtu 通過呼叫 run-parts 命令,定時執行四個目錄下的所有指令碼。
1)/etc/cron.hourly,目錄下的指令碼會每個小時讓執行一次,在每小時的17分鐘時執行;
2)/etc/cron.daily,目錄下的指令碼會每天讓執行一次,在每天的6點25分時執行;
3)/etc/cron.weekly,目錄下的指令碼會每週讓執行一次,在每週第七天的6點47分時執行;

4)/etc/cron.mouthly,目錄下的指令碼會每月讓執行一次,在每月1號的6點52分時執行;

2. cron 服務的啟動與停止

在Ubuntu 9.10下,cron是被預設安裝並啟動的。而 ubuntu 下啟動,停止與重啟cron,均是通過呼叫/etc/init.d/中的指令碼進行。命令如下:
1)/sbin/service crond start // 啟動服務
2)/sbin/service crond stop // 關閉服務
3)/sbin/service crond restart // 重啟服務

4)/sbin/service crond reload // 重新載入配置

可以通過以下命令檢視cron是否在執行(如果在執行,則會返回一個程序ID):

# pgrep cron

3. crontab

crontab 命令用於安裝、刪除或者列出用於驅動cron後臺程序的表格。也就是說,使用者把需要執行的命令序列放到crontab檔案中以獲得執行,每個使用者都可以有自己的crontab檔案。以下是這個命令的一些引數與說明:
1)crontab -u // 設定某個使用者的cron服務
2)crontab -l // 列出某個使用者cron服務的詳細內容
3)crontab -r // 刪除沒個使用者的cron服務
4)crontab -e // 編輯某個使用者的cron服務


基本格式 :

* * * * * command

分  時  日  月  周  命令

第1列表示分鐘1~59 每分鐘用*或者 */1表示

第2列表示小時1~23(0表示0點)

第3列表示日期1~31

第4列表示月份1~12

第5列標識號星期0~6(0表示星期天)

第6列要執行的命令

crontab範例
    每五分鐘執行  */5 * * * *

    每小時執行     0 * * * *

    每天執行        0 0 * * *

    每週執行       0 0 * * 0

    每月執行        0 0 1 * *

    每年執行       0 0 1 1 *


設定cron的許可權
        /etc/cron.allow
        /etc/cron.deny

        系統首先判斷是否有cron.allow這個檔案,如果有這個檔案的話,系統會判斷這個使用者有沒有在cron.allow的名單裡面,如果在名單裡面的話,就可以使用cron機制。如果這個使用者沒有在cron.allow名單裡面的話,就不能使用cron機制。

         如果系統裡面沒有cron.allow這個檔案的話,系統會再判斷是否有cron.deny這個檔案,如果有cron.deny這個檔案的話,就會判斷這個使用者有沒有在cron.deny這個名單裡面,如果這個使用者在cron.deny名單裡面的話,將不能使用cron機制。如果這個使用者沒有在cron.deny這個名單裡面的話就可以使用cron機制。

        如果系統裡這兩個檔案都沒有的話,就可以使用cron機制