2021-05-12 14:32:11
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
基本上跟你的程式語言一結合,定時定期類的任務都能完成
crontab中新增定時指令碼不生效的原因 http://www.linuxidc.com/Linux/2017-02/140237.htm
Unix下使用crontab注意事項 http://www.linuxidc.com/Linux/2017-02/140448.htm
Linux定時任務Crontab命令詳解 http://www.linuxidc.com/Linux/2015-10/124478.htm
Linux的cron定時任務使用說明 http://www.linuxidc.com/Linux/2016-12/138992.htm
Ubuntu使用crontab定時任務 http://www.linuxidc.com/https://www.linuxidc.com/Linux/2013-05/84770.htm
Linux計劃任務(at batch crontab anacron) http://www.linuxidc.com/https://www.linuxidc.com/Linux/2013-03/81584.htm
備份crontab的實用指令碼 http://www.linuxidc.com/Linux/2017-02/140447.htm
Linux任務計劃 (at,crontab) http://www.linuxidc.com/Linux/2015-09/122970.htm
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-03/141283.htm
相關文章