systemd에서 관리하는 서비스가 다시 시작된 횟수(예: 카운터 등)를 빠르고 쉽게 알 수 있는 방법을 원합니다. 그게 존재하나요?
답변1
이 카운터는 추가되었으며 다음 명령을 사용하여 액세스할 수 있습니다.
systemctl show foo.service -p NRestarts
서비스가 다시 시작 루프에 있으면 값을 반환하고, 그렇지 않으면 아무 것도 반환하지 않습니다.
답변2
systemctl은 서비스가 마지막으로 시작된 시간(또는 가동 시간)을 표시합니다. 그러나 이는 서비스가 다시 시작된 횟수를 설명하기에는 충분하지 않습니다.
다음 명령은 발생한 시작(또는 재부팅) 횟수를 표시할 수 있습니다.
로그 제어 -u <service_name>
.service grep 시작 |
예를 들어:
$ journalctl -u foo.service | grep Starting
Jul 24 16:09:56 10.16.26.1 systemd[1]: Starting foo...
Jul 25 18:12:14 10.16.26.1 systemd[1]: Starting foo...
이 명령은 재시작 횟수만 제공합니다.
로그 제어 -u <service_name>
.service grep start |
예를 들어:
$ journalctl -u foo.service | grep Starting | wc -l
2
참고: 여기에서 사용된 문자열을 변경할 수 있습니다. 이 "시작됨"을 사용하여 서비스가 성공적으로 시작되었는지 확인할 수 있습니다. 또는 " <service_name>
.service failed"를 사용하여 서비스가 실패한 횟수를 알 수 있습니다.
또한 흥미롭게도 그들은 GitHub에서 systemd에 카운터를 추가하는 아이디어를 논의해 왔습니다.