Crontab 讓linux定時執行shell腳本


使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM