crontab定時執行shell腳本


步驟一    首先我們先看一下是否安裝了crontab。一般情況下linux系統會自帶crontab及crond。如果沒有安裝,請使用以下指令安裝:yum install vixie-cron           yum install crontabs (PS:Ubuntu操作系統下請使用apt-get)
步驟二    然后我們寫一個名字叫做miao.sh的shell腳本。很簡單,就是輸出一段字符。

 

 步驟三    我們的目的是每分鍾執行一次這個shell腳本,所以要再建立一個存放日志的log文件,然后給予miao.sh權限

 

 步驟四   然后我們就要使用crontab了,首先進入它的配置文件,在/etc/crontab  中添加我們的調度命令。注意,該配置文件是一個只讀文件,需要使用sudo vi  /etc/crontab 指令打開文件,不然有可能沒有修改權限。

 

 

文件/etc/crontab中每行任務的描述格式如下: 

 
minute hour day month dayofweek command


minute - 從0到59的整數 
hour - 從0到23的整數 
day - 從1到31的整數 (必須是指定月份的有效日期)
month - 從1到12的整數 (或如Jan或Feb簡寫的月份)
dayofweek - 從0到7的整數,0或7用來描述周日 (或用Sun或Mon簡寫來表示)
command - 需要執行的命令(可用as ls /proc >> /tmp/proc或 執行自定義腳本的命令) 

 
comp表示以comp用戶身份來運行

 

>>表示運行腳本后重定向到log文件中

 

對於以上各語句,星號(*)表示所有可用的值。例如*在指代month時表示每月執行(需要符合其他限制條件)該命令。

 

步驟五    開啟crontab服務
service crond start,出現下面情況

 

出現Redirecting to /bin/systemctl start crond.service, 即service crond start 需要替換為systemctl方式:

開始:systemctl start crond
停止:systemclt stop crond

步驟六    查看運行結果

到日志中查看是否有信息輸入。

 

如何查看crontab的日志記錄:看 /var/log/cron這個文件就可以,可以用tail -f /var/log/cron觀察

 

報錯:ERROR (getpwnam() failed)

這種一般是時間后面沒加用戶root導致:

/1 * * * /opt/a.sh 錯誤寫法
/1 * * * root /opt/a.sh 正確的方式

 


免責聲明!

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



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