Linux下使用cron讓Python程序持久化運行


正常情況下,一個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

基本上跟你的編程語言一結合,定時定期類的任務都能完成


免責聲明!

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



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