その簡単なことをするためにすでに1時間以上費やし、完全に失敗しました:/
コマンドラインで完全に機能しているのに、そのpython crontabで機能しない理由を見つけることができません...
スクリプトは(bash)です:
#!/bin/bash
touch before_zzz_text.txt # to check if cron works at all
ls > "before_zzz_text.txt" # just to check if I'm in the correct directory
/root/anaconda3/bin/python -V > pv.txt # this is empty! or a white char
touch after_zzz_text.txt # this works new file every minute
このようにして、cronで実行されることがわかります(ファイル.txtは両方とも毎分作成されます-cronが毎分実行されるように)。
ただし、pv.txtは空です... bashスクリプトが機能していないように見えますか?
結局、bashスクリプトでより複雑なスクリプトを実行したいのですが、なぜそれが機能しないのかを掘り下げてみたので、単純化するために「/ root/anaconda3/bin/python-V」になりました。
少し議論した後(上記のコメントを参照)、基本的な問題は、python
がバージョンテキストをstderr
に書き込むことであり、予期されるstdout
ではないようです。が書き込まれるため、空のファイルになります。
一般に、crontab
の問題を診断するときは、エラーと出力を同じファイルまたは別のファイルに記録することをお勧めします。 python
呼び出し行の最後に2>&1
を追加すると、バージョンテキストがpv.txt
に表示されます。
/root/anaconda3/bin/python -V > pv.txt 2>&1