私のユーザーcrontabに問題があります。
Crontabは、毎分(* * * * *)実行するようにスケジュールされていないジョブの実行を拒否します。
15分ごとに実行されるようにジョブを編集すると、実行は失敗します。
毎分よく実行されます。
* * * * * touch /tmp/test01
毎時15分で実行することはできません。ただ実行されません。
15 * * * * touch /tmp/test02
- 原因は何ですか?
- どうやって解決しますか?
オペレーティングシステムはRedHat 4です。
crontab -e
EDITOR
私はviの編集のために常にcronを使用して設定します。15 * * * *
(分は変更される可能性があります)との間を行ったり来たりしたが、結果は* * * * *
同じです。 5つ星だけが好きです。
途方もない編集:
フォローする@シェーン-h質問してテスト*/2 * * * *
(1分ごと)で動作します!それから悟った事実を発見しました。
この文字列を使ってテストしました。37 * * * * touch /tmp/prueba_777777
驚くべきことに、実際には実行されますが、ファイルの日付を見てください。
-rw-r--r-- 1 orashut dba 0 8月8日08:07 prueba_777777
最近、サーバーは新しいベネズエラのタイムゾーンに設定され、現在は-04:00ですが、以前は-04:30でした。
date コマンドを実行すると、正しい日付が表示されます。ファイルが作成されると、FSのファイル日付が正しいです。しかし、何とかcronジョブは30分早く実行されます。これがすぐに次の数分間ジョブをスケジュールしたときにcronデーモンの時間がすでに経過したために機能しない理由です。約1時間待つと30分で実行されます。そのため、タッチされたファイルが予定されている37分より30分速いのです。
今質問は次のとおりです。
cronデーモンは以前のタイムゾーンを使用していますが、サーバーの残りの部分は新しいタイムゾーンを使用していることは明らかです。
新しいタイムゾーンのcronデーモンの理解を修正する方法は?
ベストアンサー1
今質問は次のとおりです。
cronデーモンは以前のタイムゾーンを使用していますが、サーバーの残りの部分は新しいタイムゾーンを使用していることは明らかです。
新しいタイムゾーンのcronデーモンの理解を修正する方法は?
私の考えでは、タイムゾーンデータ更新パッケージ(tzdata
RPMなど)がインストールされていますが、crond
更新後にサーバーが再起動せずデーモンも再起動されず、crond
初期起動時にロードされた以前のタイムゾーンデータがまだ残っているようです。使用されています。
これが問題の場合、Shane Hが述べたようにデーモンを再起動すると問題が解決します。service crond restart
それとも/etc/init.d/crond restart
そうしなければなりません。また、タイムスタンプを記録できる他の長期実行システムデーモンを再起動することも考慮する必要がありますsendmail
。