關(guān)鍵詞:linux ?python腳本 定時執(zhí)行
通過crontab調(diào)度腳本時腳本使用的環(huán)境變量與直接在shell中運行腳本時使用的環(huán)境變量不同(因為crontab并不知道你所使用的shell冗美,只是簡單的設置了HOME矾睦、LOGNAME、SHELL和有限的PATH等環(huán)境變量)监署,因而可能導致“XXX command not find”的錯誤或者運行結(jié)果不一致的情況爱谁。
解決:
在linux系列中,常常通過crontab命令來維護crontab文件,從而達到提交計劃作業(yè)的目的锯七。在介紹crontab命令之前,我們先來了解下crontab文件中每個條目中各個域的格式和意義誉己。
crontab每個條目都有6個域眉尸,分別對應6列,從左到右依次為第1列,第2列...第6列噪猾。下面是這些域的詳細介紹:
第1列:分鐘 1~59
第2列:小時 1~23
第3列:日期 1~31
第4列:月份 1~12
第5列:星期 0~6(0表示星期日)
第6列:要運行的命令
在前5列中霉祸,可以用減號"-" 表示范圍;用逗號","表示或袱蜡;用星號"*"表示連續(xù)的時間丝蹭,如果對某域沒有特別的限制,該域也需要填入星號"*"坪蚁。"*/5" 這樣格式表示每5分鐘[小時奔穿,天等]。每列之間要用空格隔開敏晤。請參考下面的列子:
58 12 * * * /apps/bin/task.sh
每天12:58運行腳本task.sh
59 23 1,10,20 * * /apps/bin/backup.sh
每月1贱田,10,20日的23:59分運行腳本backup.sh
30 12 * * 6,0 /bin/find -name "log" -exec rm {} \;
每個周六周日的12:30執(zhí)行命令
0,30 18-23 * * * /apps/bin/check.sh
每天的18點到23點嘴脾,每隔30分鐘執(zhí)行腳本check.sh
*/3 * * * * /apps/bin/mysqlmonitor >> /tmp/mysqlmonitor.log
每3分鐘執(zhí)行腳本
了解了crontab文件格式的意義男摧,我們開始介紹怎么使用crontab
1、創(chuàng)建crontab文件
a:創(chuàng)建作業(yè)內(nèi)容文件
[root@localhost ~]$ cat > mycron
*/2 * * * * /bin/echo `date` > /dev/console
輸入上面的內(nèi)容统阿,然后摁ctrl+d保存文件mycron
b:提交作業(yè)文件mycron
crontab mycron
2彩倚、列出crontab文件內(nèi)容
crontab -l
3、刪除crontab文件
crontab -r
3扶平、編輯crontab文件
crontab -e
引用:http://www.2cto.com/os/201401/273003.html帆离; http://blog.csdn.net/love__coder/article/details/6890997