Я хочу запускать команду (в унисон) каждые 5 минут как systemd.service через модуль systemd.timer. Только файл .service работает нормально. Однако когда он запускается блоком таймера, он запускается несколько раз и останавливается со следующими ошибками: Start request repeated too quickly.
и Failed with result 'start-limit-hit'
. Но почему?
Я запускаю службу таймера так: systemctl --user start service.timer
.
Файлы находятся в: $HOME/.config/systemd/user/
.
sync.service
[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
sync.timer
[Unit]
Description=Timer for Sync Service
[Timer]
OnCalendar=*-*-* *:0/5:*
AccuracySec=5s
[Install]
WantedBy=timers.target
Команда unison синхронизируется по сети с сервером через ssh с защищенным паролем ключевым файлом. А ssh-agent
экземпляр запущен пользователем. Вот почему мне нужно использовать оболочку входа в систему: zsh -l -c "..."
.
Для записи: OnCalendar=*-*-* *:0/5:*
просто неправильно. OnCalendar=*-*-* *:0/5:00
останавливает многократное выполнение.