2012-01-26 25 views
4

我有一個系統日誌服務器,它寫入一個unix流/tmp/syslog.socket。 我需要將此流複製到多個TCP客戶端。有沒有辦法使用socat來實現這一點?重複輸入到多個TCP客戶端的輸入unix流(使用socat)

+0

但系統日誌通常是'udp'? –

+0

是的。對於我的設置,它使用UDP從其他機器接收數據並將它們寫入unix數據流套接字。 –

+0

@CalinDon我的建議答案是否可以接受? – lkraav

回答

2

我想我只是在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的效果。

+0

爲什麼'pty'重要?當我離開時,交替問題停止,所有數據都發送給所有客戶端。 – Thor