我有一個python腳本,上傳到一個全天候運行的web服務器上。我想自動執行此腳本,以便它每小時自動運行一次。這可能嗎?我碰到了cron工作的東西,但我不熟悉如何實現這一點。任何幫助或例子都會有所幫助。自動化Python腳本
回答
打開你的cron作業文件,
crontab -e
中加入這一行
* 0 * * * /path/to/my/script
我會建議使用bash腳本或東西來檢查進程是否已經在運行。
if [ `ps -u USERNAME | grep -i PROCESSNAME | wc -l` -lt 1 ]
then
nohup python main.py &
fi
編輯
鍵入命令crontab -e
然後按回車鍵。你的屏幕會變成黑色,並附帶一排~
。按i
您現在處於插入模式。請輸入* 0 * * * /path/to/my/script
,確保這是您腳本的絕對路徑。按Esc
,然後輸入:x
,然後按回車。這應該保存cron文件,也就是假設vi
或vim
是cron文件的默認編輯器。
旁註
另外,還要確保你的腳本是可執行的,chmod 777 myscript.py
應該做的伎倆,但是請使用chmod和權限熟悉。
另外請確保你的#/python/version/to/use
作爲python文件的第一行。
第一:問問自己數據應該是動態而不是靜態的。通過數據庫或cgi腳本可以更好地訪問動態數據。
第二:請仔細閱讀說明書。 crontab是用於管理cron作業的程序。網絡搜索可以給你更深入的信息(知道哪個釘子是戰鬥的一半)。 man crontab在計劃中沒有太多幫助,但是如果它不按照您的期望編輯文件,可以指出程序的指針。
第三:通過執行'which python'並將描述符添加到文件的頂部來確定python的運行位置。在我的情況下,它是#!/ usr/bin/python
第四:將你的pyhton腳本放在適當的地方,或許/ usr/local/sbin /如果它足夠重要並且你有權限。使用文件上的chmod 775使您的文件可執行。運行該文件以確保它按預期執行。
第五:使用crontab -e編輯cron作業表如果你不能像自己一樣運行它,請嘗試在sudo下運行它(例如sudo crontab -e)。
第六:添加行0 * * * * /myPath/myfile.py
這將運行每分鐘變化爲00維基百科說@hourly應該工作時間,但我從來沒有嘗試過。
格式如下
* * * * * command to be executed
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ │
│ │ │ │ └───── day of week (0 - 6) (0 is Sunday)
│ │ │ └────────── month (1 - 12)
│ │ └─────────────── day of month (1 - 31)
│ └──────────────────── hour (0 - 23)
└───────────────────────── min (0 - 59)
第七:測試測試測試。
crontab -l列出了cron作業規範。
當cron執行時,可能必須存在環境變量,例如$ PYTHONPATH。
如果crontab中有6個字段,則第一個字段可能是秒。
有一天你想記錄seomthing的輸出。閱讀關於在/ var/logs中創建日誌文件目錄以及如何使用/etc/logrotate.d/文件進行管理的信息。
這真的很有幫助。謝謝。 – khan
- 1. 自動化Python腳本
- 2. 如何自動化自動化我的Python腳本?
- 3. Telnet自動化/腳本
- 4. 自動化腳本Maximo中
- 5. Shell腳本自動化
- 6. 自動化Maven腳本
- 7. 自動化SQL腳本
- 8. 自動化PHP腳本
- 9. python自動重啓腳本
- 10. Python腳本自動關閉
- 11. 自動更新python腳本
- 12. 自動化/腳本化Wifi連接
- 13. 從python自動運行python腳本
- 14. 自動開機啓動python腳本(RPI)
- 15. 自動啓動一個python硒腳本
- 16. Python腳本重複自動啓動
- 17. 啓動後自動運行python腳本?
- 18. 優化Python腳本
- 19. 如何使用Python自動化網頁抓取腳本?
- 20. 使Python腳本自動化的最佳方式
- 21. Python Selenium:如何讓自動化腳本中的人機交互?
- 22. 使用Python API的OpenStack自動化腳本Swift
- 23. 通過代理安裝python包的自動化腳本?
- 24. 我們如何自動化Python腳本中的用戶交互
- 25. 如何自動化的幾個相互依存的Python腳本
- 26. Python自動化
- 27. 屏幕抓取:自動化vim腳本
- 28. Shell腳本終端中的自動化
- 29. SQLSafe備份還原腳本自動化
- 30. 數據庫監控腳本自動化
你的問題是關於['cron'](http://en.wikipedia.org/wiki/Cron#Examples)嗎? – chrisaycock
不是python特有的。站內搜索。 –
cron真的是這裏最好的答案。肯定有一條學習曲線,但其他任何工具都會變得過於矯枉過正,並且可能是一個可疑附加值的cron包裝。 – mattbornski