crontab計畫執行指令碼詳解

2022-04-22 17:31:30 字數 4864 閱讀 6428

crontab是linux系統中在固定時間執行某乙個程式的工具,類似於windows系統中的任務計畫程式。

一、安裝crontab

yum install vixie-cron  #安裝

chkconfig crond on     #設為開機啟動,安裝chkconfig(yum installchkconfig)   ###設定啟動方式

service crond start  #啟動

service crond stop  #停止

或者/etc/rc.d/init.d/crond start/stop/restart/reload

/etc/rc.d/init.d/crond reload  #不中斷服務,重新載入配置

二、crontab 引數的含義

cron服務提供crontab命令來設定cron服務的,詳細引數如下

crontab -u //設定某個使用者的cron服務,一般root使用者在執行這個命令的時候需要此引數

crontab -l //列出某個使用者cron服務的詳細內容

crontab -r //刪除沒個使用者的cron服務

crontab -e //編輯某個使用者的cron服務

三、設定任務計畫

/home/mvp/osyunwei.sh    #要自動執行的指令碼程式路徑

chmod +x /home/mvp/osyunwei.sh   #對指令碼檔案新增執行許可權,否則不能執行

vi /etc/crontab  #編輯配置檔案,在最後一行新增內容

30 1 * * * root /home/mvp/osyunwei.sh #表示每天凌晨1點30執行備份

:wq! #儲存退出

/etc/rc.d/init.d/crond reload  #重新載入crond配置檔案

crontab檔案的格式:

minute    hour 

day    month

weekday    username     command

minute:分,值為0-59

hour:小時,值為1-23

day:天,值為1-31

month:月,值為1-12

weekday:星期,值為0-6(0代表星期天,1代表星期一,以此類推)

username:要執行程式的使用者,一般設定為root

command:要執行的程式路徑(設定為絕對路徑)例如:/home/mvp/osyunwei.sh

*/2 每隔2

1-6 1到6

1,2,3,4  1、2、3、4

附crontab規則詳細例項

1、每天6:00執行

0 6 * * * root /home/mvp/osyunwei.sh

2、每週六凌晨4:00執行

0 4 * * 6 root /home/mvp/osyunwei.sh

3、每週六凌晨4:05執行

5 4 * * 6 root /home/mvp/osyunwei.sh 

4、每週六凌晨4:15執行

15 4 * * 6 root /home/mvp/osyunwei.sh

5、每週六凌晨4:25執行

25 4 * * 6 root /home/mvp/osyunwei.sh

6、每週六凌晨4:35執行

35 4 * * 6 root /home/mvp/osyunwei.sh

7、每週六凌晨5:00執行

5 * * 6 root /home/mvp/osyunwei.sh

8、每天8:40執行

40 8 * * * root /home/mvp/osyunwei.sh

9、每天8:30執行

30 8 * * * root /home/mvp/osyunwei.sh

10、每週一到周五的11:41開始,每隔10分鐘執行一次    #值得借鑑

41,51 11 * * 1-5   root /home/mvp/osyunwei.sh

或者

1-59/10 12-23 * * 1-5   root /home/mvp/osyunwei.sh

11、在每天的10:31開始,每隔2小時重複一次

31 10-23/2 * * * root   /home/mvp/osyunwei.sh

12、每天15:00執行

0 15 * * *  root /home/mvp/osyunwei.sh

13、每天的10:30開始,每隔2小時重複一次

30 10-23/2 * * * root  /home/mvp/osyunwei.sh

14、每天15:30執行

30 15 * * *  root /home/mvp/osyunwei.sh

15、每天17:50執行

50 17 * * *  root /home/mvp/osyunwei.sh

16、每天8:00執行

0 8 * * *  root  /home/mvp/osyunwei.sh

17、每天18:00執行

0 18 * * *  root  /home/mvp/osyunwei.sh

18、每天8:30執行

30 8 * * *  root  /home/mvp/osyunwei.sh

19、每天20:30

30 20 * * *  root /home/mvp/osyunwei.sh

20、每週一到周五2:00

0 2 * * 1-5 root /home/mvp/osyunwei.sh

21、每週一到周五9:30

30 9 * * 1-5 root /home/mvp/osyunwei.sh

22、每週一到周五8:00,每週一到周五9:00

0 8,9 * * 1-5  root /home/mvp/osyunwei.sh

23、每天23:59

59 23 * * *  root  /home/mvp/osyunwei.sh

24、每週六23:59

59 23 * * 6  root    /home/mvp/osyunwei.sh

25、每天0:30

30 0 * * *  root  /home/mvp/osyunwei.sh

26、每週一到周五9:25到11:35之間、13:00到15:00之間,每隔10分鐘執行一次

分割槽段寫值得借鑑

25,35,45,55  9 * * 1-5  root   /home/mvp/osyunwei.sh

5-59/10  10 * * 1-5  root   /home/mvp/osyunwei.sh

5,15,25,35  11 * * 1-5  root   /home/mvp/osyunwei.sh

*/10  13-15 * * 1-5  root   /home/mvp/osyunwei.sh

27、每週一到周五8:30、8:50、9:30、10:00、10:30、11:00、11:30、13:30、14:00、14:30、5:00分別執行一次

30,50 8 * * 1-5  root  /home/mvp/osyunwei.sh

30 9 * * 1-5  root  /home/mvp/osyunwei.sh

*/30 10-11 * * 1-5  root  /home/mvp/osyunwei.sh

30 13 * * 1-5  root  /home/mvp/osyunwei.sh

0,30 14-15 * * 1-5  root  /home/mvp/osyunwei.sh

28、每天23:50執行

50 23 * * *  root  /home/mvp/osyunwei.sh

29、每天10:00、16:00執行

0 10,16 * * *  root /home/mvp/osyunwei.sh

30、每天5:30執行

30 5 * * *  root  /home/mvp/osyunwei.sh

31、每週一到周五9:30執行

30 9 * * 1-5  root  /home/mvp/osyunwei.sh

32、每週一到周五13:00執行

0 13 * * 1-5  root  /home/mvp/osyunwei.sh

33、每天7:51執行

51 7 * * *  root /home/mvp/osyunwei.sh

34、每天7:53、12:40分別執行一次

53 7 * * *  root /home/mvp/osyunwei.sh

40 12 * * *  root /home/mvp/osyunwei.sh

35、每天7:55執行

55 7 * * *  root  /home/mvp/osyunwei.sh

36、每天8:10、16:00、20:00分別執行一次

10 8 * * *  root  /home/mvp/osyunwei.sh

0 16 * * *  root  /home/mvp/osyunwei.sh

0 20 * * *  root  /home/mvp/osyunwei.sh

37、每天7:57、8:00分別執行一次

57 7 * * *  root  /home/mvp/osyunwei.sh

0 8 * * *  root  /home/mvp/osyunwei.sh

crontab執行指令碼出錯

最近經常碰到關於crontab不能執行的,初步總結了有以下幾個原因 第一,指令碼的原因 大多數情況下,是我們的指令碼的問題,這種問題導致crontab不能執行的概率佔到70 以上。因為程式執行到某一步導致crontab終止執行,如,資料庫訪問出錯等。第二,執行環境問題,當我們碰到第一情況下,一般都可...

crontab 執行指令碼注意的問題

bin bash filepath cd dirname 0 pwd filename excute pro cd pid ps ef grep filename grep v grep awk pidnum echo pid wc awk export ld library path lib us...

手動執行指令碼正常,但crontab不執行

1.指令碼內容 0 2 cd usr local datax bin python datax.py job bidresourse.json 2.問題分析 2.1檢視crontab服務狀態systemctl status crontab,檢視日誌tail 222f var log cron 2.2...