先週末、時刻を02:00から03:00に変更する必要がありました。
質問: 02 :30に cronjobがあった場合はどうなりますか?
crondはスケジューリングのための非常に古いソリューションであり、おそらくそれを処理する必要がありますが、方法はわかりません。
先週末、時刻を02:00から03:00に変更する必要がありました。
質問: 02 :30に cronjobがあった場合はどうなりますか?
crondはスケジューリングのための非常に古いソリューションであり、おそらくそれを処理する必要がありますが、方法はわかりません。
回答:
おそらくcronの実装に依存しますが、一般的なVixie cronのマニュアルには次のように記載されています。
その後、cronは毎分起動し、保存されているすべてのcrontabを調べ、各コマンドを現在の分で実行する必要があるかどうかを確認します。
そして
時計の変更が3時間未満の場合(夏時間の開始時と終了時など)、特別な考慮事項があります。時間が進んだ場合、スキップされた時間内に実行されていたジョブは、変更後すぐに実行されます。逆に、時間が3時間以内に後退した場合、繰り返し時間に該当するジョブは再実行されません。
特定の時刻に実行されるジョブ(@hourlyとして指定されておらず、時間または分指定子に「*」が指定されていないジョブ)のみが影響を受けます。ワイルドカードで指定されたジョブは、新しい時間に基づいてすぐに実行されます。
DSTの変更は3時間未満であったため、プログラムは午前3時過ぎに実行されます
これがVixieのcron固有の動作であるかどうかはわかりませんが、これが80年代にPDP-11がどのように機能したかを思い出すようですが、よくわかりません。
最善の解決策は、ハードウェアクロックをUTC(協定世界時)、別名GMT、またはズールー時間に設定してコンピューターを実行し、夏時間を許可するようにローカルタイムゾーンを設定するだけで時刻の表示方法を変更することです。引き継ぐ時間。
SUSE Linux、およびおそらく他のほとんどの場合、ハードウェアクロックシステム->環境->クロック-> HWCLOCKが-uフラグを使用してUTCに設定され、タイムゾーンがシステムの場所に設定されている場合、自動的にローカル時刻が表示されますDSTの修正を行います。
これには多くの利点があります。
詳細についてman hwclock
は、端末に入力してください。