Linux Crontab命令定時任務基本語法

2022-04-04 07:17:45 字數 3063 閱讀 9687

1、檢視crontab定時執行任務列表

crontab -l
2、編輯crontab定時執行任務

crontab -e
3、刪除crontab定時任務

crontab -r
sudo service crond start     #啟動服務

sudo service crond stop      #關閉服務

sudo service crond restart   #重啟服務

sudo service crond reload    #重新載入配置

sudo service crond status    #檢視服務狀態

crontab 的時間表示式:

基本格式 :

*  *  *  *  *  command

分 時 日 月 周 命令

先來看乙個例子。每天凌晨1:00執行備份程式:0 1 * * * /root/wzfou.com/backup.sh。其中/root/wzfou.com/backup.sh這是指令碼路徑,要使用絕對路徑,前面的日期格式請直接看下圖就知道了。

crontab還有操作符,用來實現一些複雜的時間設定需要。操作符有:

1、* 取值範圍內的所有數字 ,代表所有。

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

3、- 從x到z ,代表一段時間範圍。

4、,雜湊數字,代表分割開多個值。

例項1:每1分鐘執行一次

* * * * * /mnt/backup.sh

例項2:每小時的第3和第15分鐘執行一次

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

例項3:每天的8點到11點的第3和第15分鐘執行一次

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

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

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

例項5:每週一上午8點到11點的第3和第15分鐘執行一次

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

例項6:每晚的21:30執行一次

30 21 * * * /mnt/backup.sh

例項7:每月1、10、22日的4 : 45執行一次

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

例項8:每週

六、週日的1 : 10執行一次

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

例項9:每天18 : 00至23 : 00之間每隔30分鐘執行一次

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

例項10:每星期六的晚上23: 00 pm執行一次

0 23 * * 6 /mnt/backup.sh

例項11:每一小時執行一次

* */1 * * * /mnt/backup.sh

例項12:每天晚上23點到第二天7點之間,每隔一小時執行一次

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

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

@weekly /mnt/backup.sh

例項14:每個月的15日執行一次.

0 11 15 * * /mnt/backup.sh

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

@monthly /mnt/backup.sh

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

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

例項17: 重啟後執行一次.

@reboot /mnt/backup.sh

例項18:定時任務執行後發一封郵件通知.

mailto="raj"

1 1 * * * /mnt/backup.sh

例項19:指定shell (預設的是/bin/bash)

shell=/bin/sh

1 1 * * * /mnt/backup.sh

例項20:指定環境變數.

path=/sbin:/bin:/usr/sbin:/usr/bin

1 1 * * * /mnt/backup.sh

大家新建的crontab定時任務儲存後需要等待2分鐘後才會執行,當然如果想要立即執行可以重啟crontab。當crontab失效時,可以嘗試/etc/init.d/crond restart解決問題,或者檢視日誌看某個任務有沒有執行/報錯tail -f /var/log/cron。

指令碼中涉及檔案路徑時寫全域性路徑,更新系統時間時區後需要重啟cron。當手動執行指令碼ok,但是crontab死活不執行時很有可能是環境變數,可嘗試在crontab中直接引入環境變數解決問題,例如:

0 * * * * . /etc/profile;/bin/sh /root/wzfou.com/backup.sh
要注意系統級任務排程與使用者級任務排程。只有 root 使用者和 crontab 檔案的所有者可以在 -e 、-l、-r 和 -v標誌後面使用 username 以編輯、列出、除去或驗證指定使用者的 crontab 檔案。

root使用者的任務排程操作可以通過」crontab –uroot –e」來設定,也可以將排程任務直接寫入/etc/crontab檔案。

想編輯別的使用者的 crontab, 使用root執行下面的命令,同乙個格式 (追加 「-u username」 到命令後) 也可以用來列出或刪除 crontabs。

crontab -u username -e
當crontab定時任務在你所指定的時間執行後,系統會寄一封信給你,顯示該程式執行的內容,可以在日誌中/var/log/cron看到。若是你不希望收到這樣的通知,請在每一行空一格之後加上> /dev/null 2>&1

linux crontab命令詳解

12 3 root tar czf usr local backups daily etc.tar.gz etc dev null 2 1這條語句將在每天的凌晨3點12分 03 12 執行tar czf usr local backups daily etc.tar.gz etc命令。dev nul...

linux crontab命令使用

cron用法說明 cron 於希臘單詞chronos 意為 時間 是linux系統下乙個自動執行指定任務的程式。例如,你想在每晚睡覺期間建立某些檔案或資料夾的備份,就可以用cron來自動執行。cron服務是linux的內建服務,但它不會開機自動啟動。可以用以下命令啟動和停止服務 sbin servi...

Linux crontab 計畫命令

標籤 linux apache user date file shell 2009 08 04 09 31 214009人閱讀收藏 舉報 linux學習 7 基本格式 command 分 時 日 月 周 命令 第1列表示分鐘1 59 每分鐘用 或者 1表示 第2列表示小時1 23 0表示0點 第3列...