실행되는 동안 로그 파일에 기록하는 여러 프로세스가 있는 서버가 있습니다. 거의 실시간으로 서버측 로그 파일의 복사본을 가져오려면 클라이언트 호스트를 활성화해야 합니다. 단순히 tail과 netcat을 결합하는 것보다 더 좋은 방법이 있습니까?
단일 연결을 통해 여러 로그 파일을 스트리밍하기 위해 서버 측에서 tail 및 netcat을 사용할 생각입니다.
tail -F *.log | nc -lk -p 31377
클라이언트는 로그를 다중화 해제하고 파일에 기록합니다.
nc serverhost 31377 | demultiplexer
demuxer가 sed를 중심으로 구축된 경우 tail에 삽입된 구분 기호를 통해 서버 측에서 대상 파일 이름을 계산합니다.
sed -e 's/==> \(.*\) <==/\1/'
답변1
노력하다
tail -f /path/to/logfile.log | xargs -l logger -p local8.info
xargs -l
한줄씩 읽어보겠습니다.- 그러나 브로드캐스팅을 위해서는 syslog.conf를 구성해야 합니다. (
local8
및info
적절한 값으로 교체 )