毎日10:25(正確な時間は重要ではありません)でRaspberry Pi(Raspbian Jessieを実行)でスクリプトを実行したいと思います。
この行の場合、25 10 * * * /home/pi/test.sh
結果、出力、およびアクティビティログは提供されません。
私はそれを試して* * * * * /home/pi/test.sh
奇跡が起こった!うまく動作し、CMD (/home/pi/test.sh)
cronログから生成され、必要な出力ファイルを生成します。
テスト目的で使用するスクリプト:
#!/bin/bash
echo `date` > /home/pi/test.txt
cronがスクリプトを実行しない理由を知っている人はいますか?
答え1
簡単にするために、タスクを次のようにリストしました。
25 10 * * * date > /home/pi/test.txt
イベントは午前10時25分に行われます。現在実行されていない場合はタイムゾーンを確認し、/etc/default/cron
必要に応じて変更してください。変更後はサービスを再起動する必要がありますservice cron restart
。
答え2
crontabのマンページから
分、時、月フィールドが現在時刻と一致し、2つの日付フィールド(日または曜日)のうちの1つ以上が現在時刻と一致するときにcron(8)によって実行されるコマンド
次の日付フィールドのいずれかが必要です。毎日10:25に実行するには、以下を使用してください。
25 10 * * 0-6 /home/pi/test.sh
編集する:all * は毎分実行するように crontab を表示するので、これは実際には正しくありません。システムタイミングの問題であることが確認されました。システム時間をもう一度確認してください。 cronデーモンはUTCの外部で実行されます。すべてのフィールドを*に設定すると、スクリプトが機能するため、実際のロジックが機能していることがわかります。