cron和crontab命令詳解 crontab 每分鐘、每小時、每天、每週、每月、每年定時執行 crontab每5分鐘執行一次
阿新 • • 發佈:2018-12-27
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所指定的時間點,系統就會去執行這些子目錄裡的指令碼。
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所指定的時間點,系統就會去執行這些子目錄裡的指令碼。