crontabジョブは実行されません

crontabジョブは実行されません

私は"Hello World"を/tmp/example.txt

スクリーンショットに示すように、私は次のことを試しました。

28 23 * * * echo "Hello World" >> /tmp/example.txt

28 23 * * * root /bin/bash echo "Hello World" >> /tmp/example.txt

また、スクリーンショットに示すように、日付。私も手に入れようとしました。正確な日付cron操作(28 23 29 11 4など)では、この方法も機能しません。

私も実際のファイルを使ってみました。

28 23 * * * ./pingstuff

これ平らなものファイルをGoogleにpingするだけです。このファイルを実行でき、正しく実行されます。しかし、crontab -eで使用しようとすると、スケジュールされた時間に何も起こりません。 (試行するたびに時間が変わります。)

私はスーパーユーザーとしてログインしました。これらすべてのファイルを読み取り、書き込み、実行する権限があります。何が間違っているのかわかりません。

ここに画像の説明を入力してください。

ベストアンサー1

cronjobが実行されない理由は次のとおりです。

  • cronデーモンが実行されていません
  • crontabの構文エラー
  • コマンドに構文エラーがあります。
  • または権限の問題があります(例:実行ビットが設定されていません)

デーモンが実行されていることを確認するには、service cron statusまたはsystemctl status cron(サービス管理者はディストリビューションによって異なります)を試してください。デーモンの名前は、crondまたはのように若干異なる場合がありますcronie
実行していない場合は起動します(statusに置き換えますstart)。

実行している場合は、関連するログファイルを確認して、ジョブが実際に実行されていることを確認してください。ディストリビューションによっては、このようなデーモン関連ファイルまたは/var/log/syslogシステムバイナリログファイル(ビュー用)に書き込むことができます。各ジョブ実行の行を表示する必要があります。/var/log/messages/var/log/cronjournalctl -u cron

crontabをテストするときの実行時間を設定してください。もっと次の分で。一部の cron 実装では、実行するタスクを「事前計画」します。つまり、12:34:00 に実行するジョブを 12:33:00 に決定するので、12:33: 34 12 …00 に cronjob を追加すると、次のことを見逃す可能性があります.チャンスの窓:30。

/bin/shジョブが実行されても期待される結果が生成されない場合は、同じシェル(通常はミニマリスト)を使用して、同じユーザーとしてcrontabでコマンドを手動で実行してみてください。
一般的なトラップ(ここではそうではありませんが)はコマンドの文字にあります。文字はcronによって特別に処理され、実際のコマンド呼び出しで表示されるように%エスケープ()する必要があります。ほとんどのcron実装では、各cronjob(存在する場合)の出力も電子メールで送信されます。インターネット経由のメール配信を設定していない場合は、これらのメッセージをローカルに保存してこのコマンドを使用して読み取る必要があります。\%
mail

おすすめ記事