우리는 작업을 시작하기 전에 /var/log/messages를 지우고 작업 후에 /var/log/messages의 데이터를 분석하는 cron의 테스트 스크립트를 정기적으로 실행합니다. 테스트 시작 시 장치 로그가 지워지므로 이는 예상된 동작이 아닙니다.
테스트 실행 사이에만 장치 로그를 캡처하는 방법 그럼 테스트는 해당 데이터만 분석할 수 있다는 건가요?
답변1
덜 서투른 방법이 있을 수도 있지만 달릴 수는 있습니다.
tail -0f /var/log/messages > captured_logs
테스트 스크립트가 실행될 때 또는 사용
logger -i "Test started"
# ...test script...
logger -i "Test stopped"
(바라보다logger
) 및 grep
전체 로그의 다음 섹션. 로그가 롤오버되면 어떻게 될지 모르니 주의하세요.더욱 견고해졌습니다해결책은 읽는 것일 수도 있습니다.syslogd
s 소켓( -p
옵션), 예:socat
socat UNIX-CLIENT:/var/run/log STDOUT
STDOUT보다 더 복잡한 것이 귀하의 요구에 더 잘 맞을 수 있습니다. ( 이 소켓에서 로그를 캡처하도록 구성(옵션) syslogd
하여 특정 시간에 자체 인스턴스를 실행할 수도 있습니다 .)-a