유닉스 스트림 /tmp/syslog.socket
에 쓰는 syslog 서버가 있습니다. 이 스트림을 여러 TCP 클라이언트에 복제해야합니다. socat을 사용하여 이것을 달성 할 수있는 방법이 있습니까?다중 TCP 클라이언트에 대한 중복 입력 유닉스 스트림 (socat 사용)
답변
syslogd에서, 즉
http://linux.about.com/od/commands/l/blcmdl8_syslogd.htm I에서 syslog-ng에 또한 UDP
뿐만 아니라 로그 redistrubution에 대한 TCP 소켓을 지원하는 생각 syslogd를위한 매뉴얼 페이지를 참조하십시오 UDP를 통해 로그를 재분배를위한 시설이http://www.syslog.org/syslog-ng/v2/
당신이 socat와 해킹을 필요로하지 않는다는 것을 추측 할?
내가 아는 한, syslog는 대상에 쓰고 대상에서 읽는 것만 가능합니다 (링크의 한쪽 끝 일 수 있음). 연결을 수신 대기 한 다음 해당 연결에 쓸 수 없습니다. –
난 그냥 Some Helpful socat Commands의 도움으로, 특히 중복 부분을 완성했다고 생각합니다.
socat TCP-LISTEN:4444,reuseaddr,fork SYSTEM:"tail -f ~/.tail-error-logs/*",pty
fork
왼쪽에 중요 pty
는 오른쪽에 중요하다.
tail -f ~/.tail-error-logs/* | socat STDIO TCP-LISTEN:4444,fork,reuseaddr
는 또한 on above website을 설명하는 여러 연결된 클라이언트 사이의 출력 교류의 영향을 미쳤다 :
작동하지 않았다 무엇, netcat을 스타일이었다.
왜'pty'가 중요한가요? 나가면 대체 문제가 중지되고 모든 데이터가 모든 클라이언트에 전송됩니다. – Thor
그러나 syslog는 일반적으로'udp'입니까? –
예. 제 설정에서 UDP를 사용하는 다른 컴퓨터에서 데이터를 받아 유닉스 스트림 소켓에 씁니다. –
@CalinDon에서 제안한 답변을 수락 하시겠습니까? – lkraav