Cronジョブがcrontab.txtを生成します:見つかりません[閉じる]

Cronジョブがcrontab.txtを生成します:見つかりません[閉じる]

Cronでスクリプトが正しく実行されない理由を見つけてください。

次の内容を含む* .pyファイルを1分ごとに呼び出すようにシェルを設定します(先頭と末尾の#行が削除されます)。

* * * * * python /root/job.sh 

job.shはI2C温度モジュールをチェックし、結果をUbidotsに送信する* .pyファイルを実行します。手動操作がうまく機能します。 Cronの再起動(起動、有効化、および再起動)やjob.shへのユーザー名やフルパスの追加などの他のバリエーションを試しました。

スクリプトは次のとおりです。

    #!/usr/bin/env python 
    python /root/temperature-monitor/main.py

ファイルには次の属性があります(chmod a + x、u + x、755、666なども試行されました)。

-rwx--x--x 1 root root 62 Jul 21 15:07 job.sh

logreadをチェックすると、cronが実行されていることがわかります。

Fri Jul 21 15:38:00 2017 cron.info crond[3464]: USER root pid 3491 cmd /root/job.sh

次のようにログファイルを作成し、出力をそのファイルとして指定します。

 * * * * * python /root/job.sh >/root/test1.log 2>&1

ファイルの出力には以下が含まれます。

-ash: crontab.txt: not found

ただし、crontab.txtは、ジョブが一覧表示されている/ etc / crontabsにルート(ファイル名)として一覧表示されます。

次は何を試すかというアイデアはありますか?起動後、スクリプトが無限ループで実行されないようにしてください。

ベストアンサー1

crontabでpythonを呼び出してシェルスクリプトを実行します(これはpythonスクリプトではありません)。 Pythonをsh(またはashまたはbash)に変更すると、うまく機能すると思います。

おすすめ記事