
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
다중 실행을 중지합니다.