我的django項目使用「at」調度程序在預定時間調用python文件。這是在我的models.pyDjango Apache - 以腳本運行腳本
command = 'echo "python /path/to/script.py params" | /usr/bin/at -t [time] &> path/to/at.log'
status = os.system(command)
其中[時間]是日程安排時間。 當我在Django Dev服務器中運行它時,它完美地工作(我通常以root身份運行,但它也可以與其他用戶一起運行) 但是,當我使用mod_wsgi將應用程序部署到Apache時,它不起作用。在日誌中顯示該作業是按計劃進行的,但不會執行該作業。 我嘗試了一切從更改所有權到萬維網數據,權限,使其成爲可執行文件給所有用戶,以setuid爲根(巨大的安全問題) 我想要做的最後一件事是以root用戶身份運行apache。
在那裏做什麼'echo「? – Leopd
'at'命令只接受將被調度執行的可執行文件的名稱,不帶參數。 'echo'基本上強制'at'來安排可執行文件及其參數。查看'at'的手冊頁 – melsk
我想你錯過了一組引號。 Echo被寫爲一個python關鍵字。 – Leopd