正常情況下,一個python程序如果希望實現一直運行,不出錯不奔潰是很難的,即使編譯為可持續文件也是一樣
幸運的是很多需求並不是需要24小時不間斷運行,而是每隔一段時間運行一次即可
Linux系統自帶的cron就為我們實現了這種可能:
輸入
crontab -e
這時候就會展示已經設置好的任務,如果你之前沒有設置過,那這裡就是空的
設置你要運行的任務
* * * * * your-task
這裡的參數說明如下:
在設置後,系統就會自動運行這個任務,但是有些童鞋可能會遇到這樣的錯誤:
No module named '****'
而你直接在終端輸入python,然後import這個模塊,卻又是Ok的,
這個問題困擾了我不少時間,最後發現可能的原因是系統中存在多個python版本
而使用cron調用的時候恰好不是你想要的那個,解決的辦法也很簡單
把詳細的python路徑寫全就行了
* * * * * /root/anaconda3/bin/python /root/btc.py
注意前面的紅字部分路徑就是你需要的python版本的實際路徑
如果需要把任務日志輸出到指定的文件,可以這樣:
* * * * * /root/anaconda3/bin/python /root/btc.py >> /root/error.txt
下面是一些關於cron的使用示例
* * * * * XXX 每分鐘運行。 0 * * * * XXX 每小時運行。 0 0 * * * XXX 每天零點運行。 0 9,18 * * * XXX在每天的9AM和6PM運行。 0 9-18 * * * XXX 在9AM到6PM的每個小時運行。 0 9-18 * * 1-5 XXX 周一到周五的9AM到6PM每小時運行。 */10 * * * * XXX 每10分鐘運行。
cron的使用場景非常多,例如:
定期備份你的文件,定期備份數據庫並發送到你的郵箱,定期XXX
基本上跟你的編程語言一結合,定時定期類的任務都能完成
http://www.bkjia.com/Linuxjc/1196640.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linuxjc/1196640.html