私はsystemd-cron
これを/lib/systemdの下にユニットファイルを作成するのに使います。ユニットファイルcron-daily.timer
に
[Timer]
OnCalendar=daily
これにより、真夜中にスクリプトが実行されます。私は彼らが午前3時に発射したいと思います。
ディレクトリoverride.conf
に作成するとcron-daily.timer.d
/etc/systemd/system
[Timer]
OnCalendar=*-*-* 03:00:00
daemon-reloadを実行し、タイマーを再起動してからsystemctl list-timers
00:00:00に実行するように実行し続けます。しかし、override.conf
私の名前を変えると
[Timer]
OnCalendar=hourly
その後、期待どおりに毎時間実行しようとします。特定の時間に実行するようにサービスをオーバーライドできないのはなぜですか?
答え1
systemdタイマーユニットはさまざまなOnCalendar=
サイズを持つことができるので、午前3時に実行されるオーバーレイを作成すると、実際に次へ追加その時間(一日二回、真夜中と午前3時に実行されるようにします。)
タイマーを一覧表示すると、次のスケジュールが表示されます。真夜中と午前3時の間にコマンドを実行しない限り、真夜中に元の実行が表示され、おそらく次の内容が表示されます。構成は実装されておらず、そうではありません。働く(hourly
午後11時から真夜中の間にコマンドを実行しない限り、設定を変更すると変更が表示されることがあります。)
オーバーレイファイルを使用して毎日午前3時に実行されるようにcronを変更するには、daily
まず前の定義()を消去します。OnCalendar=
これをnullに設定します。
[Timer]
OnCalendar=
OnCalendar=*-*-* 03:00:00
タイマーデバイスのsystemdのマニュアルページには、実際にはこれに関するドキュメントが記載されていますが、以下にあります。OnActiveSec=
友達と、内容は次のとおりです。
これらのオプションのいずれかに空の文字列が割り当てられると、タイマーのリストがリセットされ、すべての以前の割り当てが無効になります。