Systemd サービス/タイマー - タイマー付きのワンショット サービスが複数回実行され、「start-limit-hit」で失敗しました

Systemd サービス/タイマー - タイマー付きのワンショット サービスが複数回実行され、「start-limit-hit」で失敗しました

systemd.timer ユニットを介して、systemd.service として 5 分ごとにコマンド (unison) を開始したいと考えています。 '.service' ファイルだけでは正常に実行されます。 ただし、タイマー ユニットによって開始されると、複数回実行され、次のエラーで停止します:Start request repeated too quickly.およびFailed with result 'start-limit-hit'。 なぜでしょうか?

タイマー サービスは次のように開始しますsystemctl --user start service.timer

ファイルは次の場所にあります: $HOME/.config/systemd/user/

同期サービス

[Unit]
Description=Sync Service

[Service]
Type=oneshot
ExecStart=/bin/zsh -l -c "unison -batch %u"
ExecStartPost=/bin/zsh -l -c 'dunstify "sync ~"'

[Install]
WantedBy=graphical.target

同期タイマー

[Unit]
Description=Timer for Sync Service

[Timer]
OnCalendar=*-*-* *:0/5:*
AccuracySec=5s

[Install]
WantedBy=timers.target

unison コマンドは、パスワードで保護されたキーファイルを使用して、SSH 経由でネットワーク経由でサーバーに同期します。ssh-agentインスタンスはユーザーによって実行されます。そのため、ログイン シェルを使用する必要がありますzsh -l -c "..."

答え1

記録のために:OnCalendar=*-*-* *:0/5:*は単純に間違っています。OnCalendar=*-*-* *:0/5:00複数の実行を停止します。

関連情報