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...