![시스템 서비스/타이머 - 타이머가 포함된 원샷 서비스가 여러 번 실행되고 'start-limit-hit'으로 인해 실패했습니다.](https://rvso.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%ED%83%80%EC%9D%B4%EB%A8%B8%EA%B0%80%20%ED%8F%AC%ED%95%A8%EB%90%9C%20%EC%9B%90%EC%83%B7%20%EC%84%9C%EB%B9%84%EC%8A%A4%EA%B0%80%20%EC%97%AC%EB%9F%AC%20%EB%B2%88%20%EC%8B%A4%ED%96%89%EB%90%98%EA%B3%A0%20'start-limit-hit'%EC%9C%BC%EB%A1%9C%20%EC%9D%B8%ED%95%B4%20%EC%8B%A4%ED%8C%A8%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
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
다중 실행을 중지합니다.