我一直在努力(並尋找)讓這個cron job/python腳本運行一段時間。但是,這顯然不起作用。我不知道如何排除原因,並嘗試了其他SO問題中找到的幾件事情。如何解決此cron作業?
路徑腳本:/home/phil/cron_jobs/octoStatus.py
我想cron來運行每分鐘。
Crontab.txt文件:
*/1 * * * * python /home/phil/cron_jobs/octoStatus/octoStatus.py &> octolog.txt
的octolog.txt是捕捉輸出和錯誤信息。 「sudo tail/var/log/cron」的輸出
Jul 3 10:20:00 bsd /usr/sbin/cron[83876]: (root) CMD (/usr/libexec/atrun)
Jul 3 10:20:00 bsd /usr/sbin/cron[83877]: (phil) CMD (python /home/phil/cron_jobs/octoStatus/octoStatus.py &> octolog.txt)
Jul 3 10:21:00 bsd /usr/sbin/cron[83903]: (phil) CMD (python /home/phil/cron_jobs/octoStatus/octoStatus.py &> octolog.txt)
Jul 3 10:22:00 bsd /usr/sbin/cron[83934]: (phil) CMD (python /home/phil/cron_jobs/octoStatus/octoStatus.py &> octolog.txt)
它似乎按需運行每分鐘。但是,腳本的預期結果不會發生。 octolog.txt也沒有被創建。當我手動運行cron-log中顯示的確切語句時,所有事情都按預期正確運行,並且創建了octolog.txt文件。
我在FreeBSD上運行它,我去看/ var/log/syslog,但它不存在。我是FreeBSD的新手,但我不確定在這種情況下意味着什麼,但我想我會提到它。
我不確定其他信息會有幫助,因爲我卡住了。謝謝。菲爾
不確定:但cron是否有PATH集?含義:你不應該使用python解釋器的絕對路徑嗎? –
您是否將您的shell設置爲crontab爲/ bin/bash。 '&>'不在舊的bash版本中,可能不在cron正常使用的shell中('/ bin/sh') – Anthon
我認爲你可能會對某些東西感興趣。我在結構中的其他地方創建了一個新目錄,並使用絕對路徑運行腳本。八卦是在PWD中創建的,並且捕捉到的錯誤與無法在腳本本身內找到提及的文件有關。出於某種原因,我認爲工作目錄是腳本本身的目錄。不知道我爲什麼這麼想。這是否意味着腳本中的所有文件都需要絕對路徑?我想我可以創建一個WORKING_DIR變量並將所有文件追加到該變量的末尾。這是常用的程序嗎? – pedwards