나는 장치를 시작할 때 시스템이 로그 파일 추적을 시작하고 해당 데이터를 syslog로 보낼 수 있는지 궁금했습니다.
논의를 위해 프로그램이 표준 출력 대신 일반 텍스트 파일에 기록한다고 가정합니다. 예를 들어야 한다면 마인크래프트 서버가 될 것입니다.
알아요 systemd-cat
. 하지만 이것은 단지 타사 앱일 뿐이고 logger
단위 시스템과는 아무런 관련이 없습니다.
답변1
서비스 단위 파일에서 이를 시도해 볼 수 있습니다.
ExecStartPost=/bin/sh -c 'tail -f /path/to/log | systemd-cat'
tail
로그 파일이 회전되면 서비스가 다시 시작될 때까지 파일 설명자가 반드시 다시 연결될 필요가 없기 때문에 STDOUT에 권장되는 로깅 모드보다 더 취약합니다.
제가 아는 한, 로그 파일을 추적하는 내장 기능은 없습니다. 이는 rsyslog
다른 로깅 시스템이 수행할 수 있는 작업입니다.