09:15 - 17:15 사이에 매분마다 시작하려면 서비스가 필요합니다.
이를 달성하는 가장 좋은 방법은 무엇입니까?
3개의 타이머를 생성할 수 있는데, 하나는 시작용(1), 하나는 1분마다 서비스 실행(2), 하나는 중지용(3)입니다. 그러나 중간 재시작에는 강력하지 않습니다.
답변1
여러 설정을 사용하여 단일 타이머 장치를 만들 수 있으며 OnCalendar=
이를 통해 원하는 정확한 간격을 지정할 수 있습니다.
systemd.timer의 매뉴얼 페이지를 보면,OnCalendar=
부분적으로는 다음과 같이 말합니다.
여러 번 지정할 수 있습니다.
따라서 시작, 중간, 종료에 대해 세 가지 개별 설정을 사용하십시오.
[Timer]
OnCalendar=*-*-* 09:15..59:00
OnCalendar=*-*-* 10..16:*:00
OnCalendar=*-*-* 17:00..15:00
이렇게 하면 9시 15분에서 17시 15분 사이에 매분 타이머가 트리거됩니다.
답변2
원하는 시간 사이에 정확하게 실행하려면 cron에 3개의 레코드가 필요합니다.
15-59 9 * * * /path/to/task
* 10-16 * * * /path/to/task
0-15 17 * * * /path/to/task
답변3
Systemd 타이머여야 합니까? 다음을 생성할 수도 있습니다.예약 된 일들이 작업을 위해. 예를 들어:
*/1 9-17 * * * /bin/systemctl restart SERVICE
이는 정확히 9:15에서 17:15 사이에 실행되지 않고 9:00에서 17:59 사이에 실행됩니다. 하지만 저는 고급 cronjob을 만드는 데 능숙하지 않습니다.