Centos 7下利用crontab定時執行任務詳解

126雲發表於2021-03-22

cron服務是Linux的內建服務,但它不會開機自動啟動。可以用以下命令啟動和停止服務:

1
2
3
4
/sbin/servicecrond start
/sbin/servicecrond stop
/sbin/servicecrond restart
/sbin/servicecrond reload

以上1-4行分別為啟動、停止、重啟服務和重新載入配置。

要把cron設為在開機的時候自動啟動,在 /etc/rc.d/rc.local 指令碼中加入 /sbin/service crond start 即可

檢視當前使用者的crontab,輸入 crontab -l;

編輯crontab,輸入 crontab -e;

刪除crontab,輸入 crontab -r

新增任務

1
2
3
crontab-e
0 */1* * *command
0 */2* * *command

查詢任務是否加了:

1
2
3
crontab-l -u root#檢視root使用者
0 */1* * *command
0 */2* * *command

基本格式 :

*  *  *  *  *  command

分 時 日 月 周 命令

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

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

第3列表示日期1~31

第4列表示月份1~12

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

第6列要執行的命令

crontab檔案的一些例子:

1
30 21 * * */usr/local/etc/rc.d/lighttpdrestart

上面的例子表示每晚的21:30重啟apache。

1
45 4 1,10,22 * */usr/local/etc/rc.d/lighttpdrestart

上面的例子表示每月1、10、22日的4 : 45重啟apache。

1
10 1 * * 6,0/usr/local/etc/rc.d/lighttpdrestart

上面的例子表示每週六、週日的1 : 10重啟apache。

1
0,30 18-23 * * */usr/local/etc/rc.d/lighttpdrestart

上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟apache。

1
0 23 * * 6/usr/local/etc/rc.d/lighttpdrestart

上面的例子表示每星期六的11 : 00 pm重啟apache。

1
* */1* * */usr/local/etc/rc.d/lighttpdrestart

每一小時重啟apache

1
* 23-7/1* * */usr/local/etc/rc.d/lighttpdrestart

晚上11點到早上7點之間,每隔一小時重啟apache

1
0 11 4 * mon-wed/usr/local/etc/rc.d/lighttpdrestart

每月的4號與每週一到週三的11點重啟apache

1
0 4 1 jan */usr/local/etc/rc.d/lighttpdrestart

一月一號的4點重啟apache


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957453/viewspace-2764148/,如需轉載,請註明出處,否則將追究法律責任。

相關文章