在 centos7上使用crontab定時任務,自動定時執行腳本
添加/編輯 Crontab
crontab -e
crontab [-u username] -e
默認情況下,系統會編輯當前用戶的crontab命令集合
查看Crontab
crontab -l
crontab [-u username] -l
刪除Crontab
crontab -r
crontab [-u username] -r
慎用。可以直接crontab -e 進行編輯
載入
crontab [-u user] file
將file做為crontab的任務列表文件並載入crontab
如果在命令行中沒有指定這個文件,crontab命令將接受標准輸入(鍵盤)上鍵入的命令,並將它們載入crontab。
配置路徑
/var/spool/cron/root (以用戶命名的文件) 是所有默認存放定時任務的文件
/etc/cron.deny 該文件中所列出用戶不允許使用crontab命令
/etc/cron.allow 該文件中所列出用戶允許使用crontab命令,且優先級高於/etc/cron.deny/var/log/cron 該文件存放cron服務的日志
示例
每五分鍾執行 */5 * * * *
每105分鍾執行一次 */105 * * * *
每小時執行 0 * * * *
每天執行 0 0 * * *
每周執行 0 0 * * 0
每月執行 0 0 1 * *
每年執行 0 0 1 1 *
1.每天 02:00 執行任務
0 2 * * * /bin/sh backup.sh
2.每天 5:00和17:00執行任務
0 5,17 * * * sh /a.sh
3.每分鍾執行一次任務
* * * * * sh /a.sh
4.每周日 17:00 執行任務
0 17 * * sun sh /a.sh
5.每 10min 執行一次任務
*/10 * * * * sh /a.sh
6.在特定的某幾個月執行任務
* * * jan,may,aug * /script/script.sh
7.在特定的某幾天執行任務
0 17 * * sun,fri /script/scripy.sh
在每周五、周日的17點執行任務
8.在某個月的第一個周日執行任務
0 2 * * sun [ $(date +%d) -le 07 ] && /script/script.sh
9.每四個小時執行一個任務
0 */4 * * * sh /a.sh
10.每周一、周日執行任務
0 4,17 * * sun,mon sh /a.sh
11.每30秒執行一次任務
* * * * * sh /a.sh
* * * * * sleep 30; sh /a.sh
12.多個任務在一條命令中配置
* * * * * sh /a.sh sh /b.sh
13.每年執行一次任務
@yearly sh /a.sh
@yearly 類似於“0 0 1 1 *”。它會在每年的第一分鍾內執行,通常我們可以用這個發送新年的問候。
14.系統重啟時執行
@reboot sh /a.sh
15.將 Cron 結果重定向的特定的賬戶
默認情況下,cron 只會將結果詳情發送給 cron 被制定的用戶。如果需要發送給其他用戶,可以通過如下的方式:
# crontab -l
MAIL=bob
0 2 * * * /script/backup.sh