systemd를 사용하여 이전 로그를 보는 방법은 무엇입니까?

systemd를 사용하여 이전 로그를 보는 방법은 무엇입니까?

실행 중이지만 현재 오류가 발생하는 사용자 장치가 있습니다. 언제부터 실패하기 시작했는지 알고 싶어서조사하다로그는 다음과 같습니다.

journalctl --user -u pycardsyncer.service

하지만 이는 지난 4시간 동안의 로그만 제공합니다. 이전 로그를 얻을 수 있는 방법이 있나요?

또한 때때로 다음 로그가 표시됩니다.

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

이것들은 어디에서 "회전"되었습니까?

답변1

man journalctl journalctl생성된 로그 파일을 읽은 내용을 기반으로 합니다 systemd-journald.service.

man systemd-journald.service구성 파일이 있는 위치 에 따라 /etc/systemd/journald.conf로그 파일이 /var/log/journal/[machine-id]/*.journal있으면 에 저장되고, 없으면 에 저장됩니다 /run/log/journal/[machine-id]/*.journal.

이 파일은 귀하와 관련된 파일인 것 같습니다. 내 컴퓨터에서 로그 파일은 다음 위치에 있습니다./run/log/journal/[machine-id]/*.journal

로그 파일이 너무 자주 교체되면 SystemMaxUse또는 RuntimeMaxUse값이 너무 낮을 수 있습니다 /etc/systemd/journald.conf. journald파일이 여기에 정의된 크기에 도달하면 파일이 회전됩니다. 기본 상태에서도 기본 크기는 하드 드라이브 용량을 기반으로 하며 문제를 일으킬 수 있습니다.

관련 정보