cron的格式很混亂,一些格式容易懵,特此整理一下,
cron可以讓系統在指定的時間,去執行某個指定的工作,我們可以使用crontab指令來管理cron機制
crontab引數
-u:這個引數可以讓我們去編輯其他人的crontab,如果沒有加上這個引數的話就會開啟自己的crontab
crontab -u 使用者名稱
※必須是超級使用者管理員才能使用,普通使用者沒有許可權,直接使用crontab -e
-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 * *
※ 每月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所指定的時間點,系統就會去執行這些子目錄裡的指令碼。
crontab命令格式
crontab命令格式 m h d m d cmd 分 時 日 月 周 命令 m 分鐘 0 59 h 小時 0 23 d 天 1 31 m 月 1 12 d 一星期內的天 0 6,0為星期天 第1列表示分鐘1 59 每分鐘用 或者 1表示 第2列表示小時1 23 0表示0點 第3列表示日期1 31 ...
Crontab命令格式
第1列分鐘1 59 第2列小時1 23 0表示子夜 第3列日1 31 第4列月1 12 第5列星期0 6 0表示星期天 第6列要執行的命令 下面是crontab的格式 分 時 日 月 星期 要執行的命令 這裡有crontab檔案條目的一些例子 每晚的21 30重啟apache 30 21 usr l...
crontab命令格式說明
使用者所建立的crontab檔案中,每一行都代表一項任務,每行的每個字段代表一項設定,它的格式共分為六個字段,前五段是時間設定段,第六段是要執行的命令段,格式如下 minute hour day month week command 其中 minute 表示分鐘,可以是從0到59之間的任何整數。ho...