GNU/Linux >> Linux の 問題 >  >> Linux

これらのcronジョブの間違いを犯していますか?

質問: 指定した時刻に cron ジョブが実行されないのはなぜですか?

答え: cron ジョブが実行されない理由はたくさんあります。指定した時間に cron ジョブが実行されない 5 つの重要な理由と、それらの問題を解決する方法を確認しましょう。

1.時間フィールドの誤解と間違った値の指定。

時刻フィールドの誤解、および予想/意図された時刻に言及していない時刻フィールドの指定された値。

たとえば、午後 8 時にコマンドを実行するには、時刻を 24 時間形式で指定する必要があります。つまり、以下に示すように、午後 8 時は 8 ではなく 20 です。

0 8 * * * /home/ubuntu/full-backup
[Note: The is wrong for 8 p.m]
0 20 * * * /home/ubuntu/full-backup
[Note: This is correct for 8 p.m]

チュートリアル Linux Crontab:15 Awesome Cron Job Examples を読んで、crontab について深く理解してください。私たちの定期的な読者の 1 人である Binny は、ユーザー インターフェイスのさまざまな crontab フィールドに適切な値を選択すると、cron エントリを生成する Web インターフェイスを作成しました。

2. crontab 内のシェル スクリプトまたはコマンドへの無効なパス

シェル スクリプトへのフル パスが crontab で指定されていることを確認してください。

0 8 * * * tape-backup
[Note: Invalid. No full path specified]

0 8 * * * /home/debian-os/bin/tape-backup
[Note: Valid. This is correct with full path]

注: crontab でフル パスを指定したくない場合は、必ず crontab に PATH 変数を追加してください (例 #14)

3. Cron 内のシェル スクリプトの実行権限がありません

正しいパスで正しいコマンドを指定した可能性がありますが、コマンドに実行権限がない可能性があります。 Unix 標準コマンドを使用している場合、デフォルトで実行権限が設定されます。

ただし、一部のユーザー定義コマンド (シェル スクリプト) を使用している場合は、以下に示すように実行権限を付与してください。

*/15 * * * * /home/fedora-os/check-disk-space
[Note: Executes check-disk-space every 15 minutes]

# cd /home/fedora-os
# chmod u+x check-disk-space

4. Cron ジョブ コマンドまたはシェル スクリプトの %age

コマンドに % が含まれている場合、コマンドは実行されません。この問題を修正する方法については、以前の Crontab %age 問題に関する FAQ を参照してください。

5.システム管理者による Cron ジョブの実行が許可されていません

システム管理者は、cron ジョブを実行できるユーザーと実行できないユーザーを決定できます。そのため、ユーザーによる cron ジョブの実行を拒否するために、sysadmin がユーザー名を /etc/cron.deny ファイルに配置した可能性があります。

root 権限を持っている場合は、/etc/cron.deny ファイルを調べて、自分の名前がそこにリストされていないことを確認してください。リストされている場合は、ファイルを編集して名前を削除します。 root 権限がない場合は、システム管理者に連絡してください。


Linux
  1. cronジョブを設定する方法

  2. Linux:フォアグラウンドで cron ジョブを実行する

  3. cron ジョブを使用してログ ファイルを削除する

  1. TrueNASでcronジョブを設定する方法

  2. cronジョブが実行されていませんか?

  3. cron ジョブが時々実行されない

  1. cronジョブの使用とポリシー

  2. 1 時間ごとに実行可能ファイルを実行するように cron ジョブを設定する方法は?

  3. 毎週の cron ジョブをテストする