我們可能會經常需要在linux系統中做一些重復而又繁瑣的操作,為了解放自己,我們需要將這些東西寫到定時任務里面,讓它每天執行
大概思路如下
- 根據自己的需求完成shell腳本
- 將腳本的執行語句加到linux自帶的crontab文件中
廢話少說 上例子
我寫了一個 test.sh的shell腳本,目錄是/home/joe/shell/test.sh
-
chmod 777 test.sh //給test文件賦予可執行權限
-
crontab -e //編輯crontab文件
-
0 7 * * * /home/joe/shell/test.sh >> /home/joe/shell/test.log 2>&1
//在文件最后加這行 , 每天早上7點會執行這條語句,並將執行日志打印在同目錄的test.log下
-
crontab -l //查看定時任務情況。
-
進入目錄查看日志驗證定時任務是否正常運行。
crond定時任務:
每五分鍾執行 */5 * * * *
每小時執行 0 * * * *
每天執行 0 0 * * *
每周執行 0 0 * * 0
每月執行 0 0 1 * *
每年執行 0 0 1 1 *
常見的問題:
-
寫好sh腳本 然后利用Crontab -e 進行部署,00 11 * * * /home/dir/baidu_update_data.sh > /file.log 2>&1類似於之中格式,
-
/bin/bash^M: bad interpreter: No such file or directory
報錯的原因是:在Windos下與Linux下編輯,格式會有差異,Windows上傳的東西,導致格式變了,所以只需要改一下格式
vi name
:set ff=unix
-
Could not open input file for reading 報錯:注意腳本放的目錄和權限。
-
觀察執行成功是否,需要看日志;日志非常重要!!!