Root CrontabはPythonスクリプトを実行しません。

Root CrontabはPythonスクリプトを実行しません。

私はDebian 9を使用しています。 rootとしてログインし、crontab -e次の行を追加しました。

0 */2 * * * python /home/Folder1/Script.py
1 */2 * * * python /home/Folder2/Script.py
2 */2 * * * python /home/Folder3/Script.py
3 */2 * * * python /home/Folder4/Script.py

スクリプトは実行されません。また、rootスクリプトを実行するユーザーを指定するためにPythonの前に追加してみました。私はこのcrontabの場所を信じていますが、/var/spool/cron/crontabs/rootこれが「デフォルト」の場所であるかどうかはわかりません。 cronの実行に関連するエラーやメッセージはに報告されません/var/log/syslog。私のpostfixローカルメールには何も報告されません。 Pythonスクリプトに対して権限644と744を試しました。

このクローンはユーザーのcrontabで実行すると機能しますが、rootで実行しても効果はありません。私はパーソナルPC(amd64 Debian 9)とVPS(VPS Dime amd64 Debian 9)でこれを試しました。

答え1

crontabを使用する前に、Pythonへのパスを追加する必要があります。

これが実際にスクリプトの正しい完全な場所であると仮定すると、次のものが必要です。

0 */2 * * * /usr/bin/python /home/Folder1/Script.py

また、cronjobはこれらの変数を異なって見ることができるので、スクリプトの環境変数が絶対パスであることを確認する必要があります。

関連情報