2017-07-03 66 views
0

我有一個輸出某些數據的命令,它使用'>>'命令存儲在ext文件中。現在,我想要在任何服務器上有一個套接字或端口來捕獲命令的輸出。基本上我想輸出所有的腳本數據到一個可能的套接字或url。將linux命令輸出到url/port或scocket而不是寫入文件

在這個方向上的任何幫助是最受歡迎的。

+0

您可以將它保存到一個文件中,但是創建一些腳本,通過「捲曲」和旋轉文件將數據發送到服務器。 – metamorphling

回答

2

您可以使用socat來監聽端口12345和回聲發送給它的任何像這樣的數據:

socat -u TCP-LISTEN:12345,keepalive,reuseaddr,fork STDOUT 

如果你想將它捕捉到一個文件,以及(file.log),你可以使用同樣的命令三通:

socat -u TCP-LISTEN:12345,keepalive,reuseaddr,fork STDOUT | tee file.log 

您可以運行您的程序,以輸出到bash的TCP虛擬設備:

./prog > /dev/tcp/localhost/12345 

如果你不想使用bash魔法,那麼你也可以使用socat發送數據:

./prog | socat - TCP-CONNECT:localhost:12345 

上面的例子假設你在同一系統上運行您的程序和「記錄」,但可以更換「本地主機」與您希望發送到的系統的主機名或地址(socat正在監聽的地方)。

+0

我對此表示滿意,因爲它可以按需要完美地工作,而且這個工作非常簡單。 – jision

相關問題