![시스템 서비스/타이머 - 여러 번 실행되지만 "start-limit-hit"으로 인해 실패하는 타이머가 있는 일회성 서비스](https://linux55.com/image/168797/%EC%8B%9C%EC%8A%A4%ED%85%9C%20%EC%84%9C%EB%B9%84%EC%8A%A4%2F%ED%83%80%EC%9D%B4%EB%A8%B8%20-%20%EC%97%AC%EB%9F%AC%20%EB%B2%88%20%EC%8B%A4%ED%96%89%EB%90%98%EC%A7%80%EB%A7%8C%20%22start-limit-hit%22%EC%9C%BC%EB%A1%9C%20%EC%9D%B8%ED%95%B4%20%EC%8B%A4%ED%8C%A8%ED%95%98%EB%8A%94%20%ED%83%80%EC%9D%B4%EB%A8%B8%EA%B0%80%20%EC%9E%88%EB%8A%94%20%EC%9D%BC%ED%9A%8C%EC%84%B1%20%EC%84%9C%EB%B9%84%EC%8A%A4.png)
5분마다 systemd.timer 장치를 통해 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
사용자에 의해 실행되고 있습니다. 그래서 로그인 쉘을 사용해야 합니다: zsh -l -c "..."
.
답변1
기록을 위해: OnCalendar=*-*-* *:0/5:*
이것은 완전히 잘못된 것입니다. OnCalendar=*-*-* *:0/5:00
실행이 여러 번 중지되었습니다.