1. 程式人生 > >cron和crontab命令詳解 crontab 每分鐘、每小時、每天、每週、每月、每年定時執行 crontab每5分鐘執行一次

cron和crontab命令詳解 crontab 每分鐘、每小時、每天、每週、每月、每年定時執行 crontab每5分鐘執行一次

cron機制
        cron可以讓系統在指定的時間,去執行某個指定的工作,我們可以使用crontab指令來管理cron機制

crontab引數
        -u:這個引數可以讓我們去編輯其他人的crontab,如果沒有加上這個引數的話就會開啟自己的crontab
        crontab -u 使用者名稱

        -l:可以列出crontab的內容

        -r:可以移除crontab

        -e:可以使用系統預設的編輯器,開啟crontab

        -i:可以移除crontab,會跳出系統資訊讓你再次確定是否移除crontab

crontab時間格式說明
        minute(分)可以設定0-59分


        hour(小時)可以設定0-23小時

        day of month(日期)可以設定1-31號

        month(月份):可以設定1-12月

        day of week(星期):可以設定0-7星期幾,其中0和7都代表星期天,或者我們也可以使用名稱來表示星期天到星期一,例如sun表示星期天,mon表示星期一等等

crontab時間格式範例
    1-3表示123
    1-9/2表示13579

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機制

介紹crontab檔案
        /etc/crontab
        在這個檔案裡並沒有記錄系統要執行哪些工作,而是記錄了下面四個子目錄。
        /etc/cron.hourly
        /etc/cron.daily
        /etc/cron.weekly
        /etc/cron.monthly
        這些子目錄裡存放了一些指令碼,到了crontab所指定的時間點,系統就會去執行這些子目錄裡的指令碼。