使用crontab你可以在指定的時間執行一個shell腳本或者一系列Linux命令。例如系統管理員安排一個備份任務使其每天都運行
入門
# crontab –e
這樣可以已編輯模式打開個人的crontab配置文件,然后加入一下這行:
00 00 * * * /home/linrui/XXXXXXXX.sh
這將會在每天凌晨00:00運行 指定的.sh文件
對於類似於幾分鍾執行一次的腳本,可在末尾加上 “>/dev/null 2>&1”,這里表示不寫到系統日志:
00 00 * * * /home/linrui/XXXXXXXX.sh >/dev/null 2>&1
Cron 各項的描述
以下是 crontab 文件的格式:
{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
o minute: 區間為 0 – 59
o hour: 區間為0 – 23
o day-of-month: 區間為0 – 31
o month: 區間為1 – 12. 1 是1月. 12是12月.
o Day-of-week: 區間為0 – 7. 周日可以是0或7.
Crontab 示例
1、在 凌晨00:01運行
01 00 * * * /home/linrui/XXXX.sh
2、每個工作日23:59都進行備份作業。
59 23 * * 1,2,3,4,5 /home/linrui/XXXX.sh
或者如下寫法:
59 23 * * 1-5 /home/linrui/XXXX.sh
3、每分鍾運行一次命令
*/1 * * * * /home/linrui/XXXX.sh
4、每個月的1號 14:10 運行
10 14 01 * * /home/linrui/XXXX.sh
Crontab命令的選項
以下是 crontab 的有效選項:
crontab –e : 修改 crontab 文件. 如果文件不存在會自動創建。
crontab –l : 顯示 crontab 文件。
crontab -r : 刪除 crontab 文件。
crontab -ir : 刪除 crontab 文件前提醒用戶。
今天用crontab不能自動執行腳本,但是手動執行可以,通過在末尾添加 “>> /home/xxx/log 2>&1”,查看log日志顯示:No such file or directory
折騰了半天,后來是因為crontab -e添加的時候在最后一行末尾,需要添加一個空行,即編輯的時候末尾enter以下。。
轉載自:https://my.oschina.net/u/2288038/blog/485972
