国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

幫助中心 >  技術(shù)知識庫 >  云服務(wù)器 >  服務(wù)器教程 >  Linux Crontab命令定時任務(wù)基本語法與操作教程

Linux Crontab命令定時任務(wù)基本語法與操作教程

2020-10-06 11:08:42 3895


一、Crontab查看編輯重啟

1、查看crontab定時執(zhí)行任務(wù)列表

crontab -l

2、編輯crontab定時執(zhí)行任務(wù)

crontab -e

3、刪除crontab定時任務(wù)

crontab -r

4、相關(guān)命令:

sudo service crond start     #啟動服務(wù)

sudo service crond stop      #關(guān)閉服務(wù)

sudo service crond restart   #重啟服務(wù)

sudo service crond reload    #重新載入配置

sudo service crond status    #查看服務(wù)狀態(tài)



二、Crontab基本格式語法

crontab 的時間表達式:

基本格式 :

*  *  *  *  *  command

分 時 日 月 周 命令

先來看一個例子。每天凌晨1:00執(zhí)行備份程序:0 1 * * * /root/backup.sh 。其中/root/backup.sh 這是腳本路徑,要使用絕對路徑,前面的日期格式請直接看下圖就知道了。

圖片1.png

crontab還有操作符,用來實現(xiàn)一些復(fù)雜的時間設(shè)定需要。操作符有:

1、* 取值范圍內(nèi)的所有數(shù)字 ,代表所有。

2、/ 每過多少個數(shù)字 ,代表每隔n長時間。

3、- 從X到Z ,代表一段時間范圍。

4、,散列數(shù)字,代表分割開多個值。

如果還有搞不懂代碼公式的,可以使用這個在線Cron表達式生成器:http://www.tjdsmy.cn/



三、20個經(jīng)典Crontab應(yīng)用實例

在使用時記得替換為自己的腳本路徑。請在相應(yīng)的腳本第一行加上#!/bin/bash,否則腳本在定時任務(wù)中無法執(zhí)行。

實例1:每1分鐘執(zhí)行一次

* * * * * /root/backup.sh

實例2:每小時的第3和第15分鐘執(zhí)行一次

3,15 * * * * /root/backup.sh

實例3:每天的8點到11點的第3和第15分鐘執(zhí)行一次

3,15 8-11 * * * /root/backup.sh

實例4:每隔兩天的上午8點到11點的第3和第15分鐘執(zhí)行一次

3,15 8-11 */2  *  * /root/backup.sh

實例5:每周一上午8點到11點的第3和第15分鐘執(zhí)行一次

3,15 8-11 * * 1 /root/backup.sh

實例6:每晚的21:30執(zhí)行一次

30 21 * * * /root/backup.sh

實例7:每月1、10、22日的4 : 45執(zhí)行一次

45 4 1,10,22 * * /root/backup.sh

實例8:每周六、周日的1 : 10執(zhí)行一次

10 1 * * 6,0 /root/backup.sh

實例9:每天18 : 00至23 : 00之間每隔30分鐘執(zhí)行一次

0,30 18-23 * * * /root/backup.sh

實例10:每星期六的晚上23: 00 pm執(zhí)行一次

0 23 * * 6 /root/backup.sh

實例11:每一小時執(zhí)行一次

* */1 * * * /root/backup.sh

實例12:每天晚上23點到第二天7點之間,每隔一小時執(zhí)行一次

* 23-7/1 * * * /root/backup.sh

實例13: 每個星期的第一天執(zhí)行一次(即每個星期天晚上24:00開始執(zhí)行).

@weekly /root/backup.sh

實例14:每個月的15日執(zhí)行一次.

0 11 15 * * /root/backup.sh

實例15:每個月的第一天執(zhí)行一次(即每個月的1日凌晨0點開始執(zhí)行).

@monthly /root/backup.sh

實例16: 在指定的月份執(zhí)行一次(在1月,4月和 6月每天晚上0點執(zhí)行一次).

0 0 * jan,apr,jun * /root/backup.sh

實例17: 重啟后執(zhí)行一次.

@reboot /root/backup.sh

實例18:定時任務(wù)執(zhí)行后發(fā)一封郵件通知.

MAILTO="raj"

1 1 * * * /root/backup.sh

實例19:指定shell (默認(rèn)的是/bin/bash)

SHELL=/bin/sh

1 1 * * * /root/backup.sh

實例20:指定環(huán)境變量.

PATH=/sbin:/bin:/usr/sbin:/usr/bin

1 1 * * * /root/backup.sh



四、Crontab可能存在的問題

4.1  Crontab不立即生效

大家新建的Crontab定時任務(wù)保存后需要等待2分鐘后才會執(zhí)行,當(dāng)然如果想要立即執(zhí)行可以重啟Crontab。當(dāng)crontab失效時,可以嘗試/etc/init.d/crond restart解決問題,或者查看日志看某個任務(wù)有沒有執(zhí)行/報錯tail -f /var/log/cron。

4.2  Crontab不執(zhí)行

腳本中涉及文件路徑時寫全局路徑,更新系統(tǒng)時間時區(qū)后需要重啟cron。當(dāng)手動執(zhí)行腳本OK,但是crontab死活不執(zhí)行時很有可能是環(huán)境變量,可嘗試在crontab中直接引入環(huán)境變量解決問題,例如:

0 * * * * . /etc/profile;/bin/sh /root/backup.sh

4.3  Crontab無權(quán)限執(zhí)行

要注意系統(tǒng)級任務(wù)調(diào)度與用戶級任務(wù)調(diào)度。只有 root 用戶和 crontab 文件的所有者可以在 -e 、-l、-r 和 -v 標(biāo)志后面使用 UserName 以編輯、列出、除去或驗證指定用戶的 crontab 文件。

root用戶的任務(wù)調(diào)度操作可以通過”crontab –uroot –e”來設(shè)置,也可以將調(diào)度任務(wù)直接寫入/etc/crontab文件。

想編輯別的用戶的 crontab, 使用root運行下面的命令,同一個格式 (追加 “-u username” 到命令后) 也可以用來列出或刪除 crontabs。

 crontab -u username -e

4.4  Crontab執(zhí)行后通知

當(dāng)Crontab定時任務(wù)在你所指定的時間執(zhí)行后,系統(tǒng)會寄一封信給你,顯示該程序執(zhí)行的內(nèi)容,可以在日志中/var/log/cron看到。若是你不希望收到這樣的通知,請在每一行空一格之后加上 > /dev/null 2>&1 即可。


提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: