FreeBSD에는 다음과 같은 순환 로그 파일을 지원하는 유틸리티가 있습니다.차단하다.
특정 서비스(systemd 및 해당 로그 외부)에 대한 로그 유지를 방지하는 것은 매우 흥미롭습니다.
Linux 및/또는 rsyslog에서 동일한 작업을 수행하는 다른 방법이 있습니까?
답변1
같은 작업을 수행하는 도구가 있습니다.둘 다FreeBSD그리고Linux는 다른 운영 체제 중 하나입니다.
엄격한 크기 제약이 있는 자동 회전 로그 생성
다음 도구는 지정된 디렉터리에서 필요에 따라 회전할 수 있는 엄격하게 제한된 크기의 자동 회전 로그 파일 세트를 유지 관리합니다.
- 댄 번스타인의
multilog
~에서데몬 도구, 또는 브루스 건터의multilog
~에서daemontools-앙코르또는 Adam Sampsonmultilog
의함대 - 로랑 베르코
s6-log
~에서s6 - 게릿 펩의
svlogd
~에서달리다 - 웨인 마샬의
tinylog
~에서범인 - 내 거
cyclog
~에서간식
사용법은 매우 간단합니다. 기록하려는 프로세스의 표준 출력과 표준 오류를 일반적인 방법으로 표준 입력에 파이프합니다.
./기록할 내용 2>&1 |자전거 로그/
cyclog
행에 TAI64N 타임스탬프를 표준으로 추가합니다. 콘텐츠에 이미 타임스탬프가 지정되어 있는 경우 타임스탬프 해제 처리를 위해서는 s multilog
또는 각 타임스탬프가 추가되는 기본이 아닌 옵션 s6-log
중 하나를 사용하세요.svlogd
대체 시스템 로그
당신이 말하는 것은 syslog
현재 완전히 적용 가능하지 않은 2001 패치를 사용하여 FreeBSD 자체를 수정하여 또 다른 출력 파일 메커니즘을 갖도록 하는 것입니다.
또 다른 접근 방식은 처음에 syslog를 사용하는 대신 syslog 데몬을 완전히 교체하고 더 많은 서비스를 구성하여 단순히 표준 오류에 기록하도록(표준 오류를 로깅 서비스로 파이프하는 서비스 관리 하에서) 구성하는 것입니다.
예: nosh 도구 세트는 syslog 작업을 분할하고 위 로깅 도구 중 하나의 표준 입력을 통해 공급하기에 적합한 출력을 생성하는 몇 가지 대안을 제공합니다.
klogd
이라는 간단한 프로그램을 실행하는 서비스입니다.klog-read
이 로그 스트림을 읽고/proc/kmsg
표준 오류에 기록합니다.local-syslog-read
라는 프로그램을 실행하는 서비스syslog-read
/dev/log
(/run/log
BSD)에서 데이터그램을 읽고 로그 스트림을 표준 오류에 기록합니다.udp-syslog-read
위의 서비스를 실행하는 서비스syslog-read
프로그램은 UDP syslog 포트를 수신하고 로그 스트림을 표준 오류에 기록합니다.local-priv-syslog-read
위의 서비스를 실행하는 서비스syslog-read
프로그램은 데이터그램을 읽고/run/logpriv
로그 스트림을 표준 오류에 기록합니다.
추가 읽기
- 조나단 데보인 폴라드(2015). "기록".데몬 도구 계열. 자주 주어지는 답변입니다.
- 조나단 데보인 폴라드(2016).이번 세기에는 logrotate나 newsyslog를 사용하지 마세요.. 자주 주어지는 답변입니다.
- 조나단 데보인 폴라드(2016). "기록". 스낵 가이드. 소프트웨어.
- https://unix.stackexchange.com/a/294206/5132
- https://unix.stackexchange.com/a/326166/5132
- https://unix.stackexchange.com/a/340631/5132