Systemd 服务/计时器 - 带计时器的一次性服务执行多次,但因“start-limit-hit”而失败

Systemd 服务/计时器 - 带计时器的一次性服务执行多次,但因“start-limit-hit”而失败

我想通过 systemd.timer 单元每 5 分钟启动一个命令(一致)作为 systemd.service 。仅“.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正在由用户运行。这就是为什么我必须使用登录 shell: zsh -l -c "..."

答案1

郑重声明:OnCalendar=*-*-* *:0/5:*这完全是错误的。OnCalendar=*-*-* *:0/5:00确实停止了多次执行。

相关内容