RandomizedDelaySec + ウェイクアップ後の持続

RandomizedDelaySec + ウェイクアップ後の持続

デスクトップコンピュータの場合は、systemdを介してバックアップを実行します。使用

OnCalendar = daily
Persistent = true
RandomizedDelaySec = 10m

バックアップは1日1回実行されます。コンピュータの電源が入っている場合は、次回起動時にバックアップが実行されます。

問題は、コンピュータを一時停止すると目が覚めるとすぐに遅滞なくすぐにバックアップを実行しようとするという点だ。ネットワーク接続に数秒かかり、バックアップに失敗しました。

これはで処理する必要があると思いRandomizedDelaySecますが、タイマーが生成されるときに設定されます。覚醒後にsystemdに待つようにどうやって言いますか?

ベストアンサー1

~によるとマニュアルページRandomizedDelaySec="0と指定された時間値の間でランダムに選択され、均等に分散された時間中にタイマーを遅延します。"

RandomizedDelaySec=したがって、待ち時間が必要なものに依存したくありません。 0mは非常に実用的な可能性だからです。

RandomizedDelaySec=一般的にはうまくPersistent=機能しますが、システムがその状態で停止していると見なされるかどうかわからないので、「停止」にどのように反応するのかわかりません。この中断されたユースケースを解決するのはニシンだと思います。

代わりに、次の2つのオプションがあります。

  1. ExecStartPre=/bin/sleep ...遅延を最小限に抑えるために、バックアップサービスに手動で追加するか、
  2. After=network.targetタイマーやサービスに追加したり、カスタムマウントが表示されるのをAfter=mymount.mount待っている場合。fuse.sshfs

オプション1は単純な包括的なケースです。しかし、一般的sleepに遅い日には何も待たず、忙しい日には長く待たない可能性があるため、一般的に好きではありません。完璧な瞬間を待っているあなたの実際の状態に関するフィードバックはありません。ただし、これは時間が重要ではないバックグラウンドタスクなので、一時停止がない日でも10分以上待っても問題ありません。

おすすめ記事