我有一个syslog服务器,它写入unix流/tmp/syslog.socket
。
我需要将此流复制到多个TCP客户端。有没有办法用socat实现这个目标?
答案 0 :(得分:3)
我认为我在Some Helpful socat Commands的帮助下完成了这项工作,特别是复制部分。
socat TCP-LISTEN:4444,reuseaddr,fork SYSTEM:"tail -f ~/.tail-error-logs/*",pty
fork
在左侧很重要,pty
在右侧非常重要。
什么不起作用,是netcat风格:
tail -f ~/.tail-error-logs/* | socat STDIO TCP-LISTEN:4444,fork,reuseaddr
它具有在多个附加客户端之间交替输出的效果,这也记录在on above website。
答案 1 :(得分:1)
syslogd有一个通过udp重新分发日志的工具,请参阅syslogd的手册页,即
http://linux.about.com/od/commands/l/blcmdl8_syslogd.htm
我相信syslog-ng还支持用于日志redistrubution的tcp套接字以及udp
http://www.syslog.org/syslog-ng/v2/
我猜你不需要和socat一起破解?