Quiero iniciar un comando (al unísono) cada 5 minutos como systemd.service a través de una unidad systemd.timer. El archivo '.service' por sí solo funciona bien. Sin embargo, cuando la unidad del temporizador lo inicia, se ejecuta varias veces y se detiene con estos errores: Start request repeated too quickly.
y Failed with result 'start-limit-hit'
. ¿Pero por qué?
Inicio el servicio del temporizador así: systemctl --user start service.timer
.
Los archivos se encuentran en: $HOME/.config/systemd/user/
.
servicio.sincronización
[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
temporizador de sincronización
[Unit]
Description=Timer for Sync Service
[Timer]
OnCalendar=*-*-* *:0/5:*
AccuracySec=5s
[Install]
WantedBy=timers.target
El comando unísono se sincroniza a través de la red con un servidor a través de ssh con un archivo de claves protegido con contraseña. ssh-agent
El usuario está ejecutando una instancia. Por eso tengo que utilizar un shell de inicio de sesión: zsh -l -c "..."
.
Respuesta1
Para que conste: OnCalendar=*-*-* *:0/5:*
está simplemente mal. OnCalendar=*-*-* *:0/5:00
hace detener la ejecución múltiple.