将linux命令输出到url/端口或scocket,而不是将其写入文件

将linux命令输出到url/端口或scocket,而不是将其写入文件,linux,sockets,websocket,pipe,Linux,Sockets,Websocket,Pipe,我有一个命令,它输出我使用'>>'命令存储在ext文件中的某些数据。现在,我不想这样做,而是希望在任何服务器上都有一个套接字或端口来捕获命令的输出。基本上,我希望将我的所有脚本数据输出到一个套接字或url,这是可能的 欢迎在这方面提供任何帮助。您可以使用socat监听端口12345,并按如下方式回显发送到该端口的任何数据: socat -u TCP-LISTEN:12345,keepalive,reuseaddr,fork STDOUT 如果还想将其捕获到文件(file.log),可以对tee

我有一个命令,它输出我使用'>>'命令存储在ext文件中的某些数据。现在,我不想这样做,而是希望在任何服务器上都有一个套接字或端口来捕获命令的输出。基本上,我希望将我的所有脚本数据输出到一个套接字或url,这是可能的


欢迎在这方面提供任何帮助。

您可以使用socat监听端口12345,并按如下方式回显发送到该端口的任何数据:

socat -u TCP-LISTEN:12345,keepalive,reuseaddr,fork STDOUT
如果还想将其捕获到文件(
file.log
),可以对tee使用相同的命令:

socat -u TCP-LISTEN:12345,keepalive,reuseaddr,fork STDOUT | tee file.log
您可以运行程序以输出到bash的TCP虚拟设备:

./prog > /dev/tcp/localhost/12345
如果您不想使用bash magic,也可以使用socat发送数据:

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

上面的示例假设您在同一个系统上运行程序和“记录器”,但您可以将“localhost”替换为希望发送到的系统的主机名或地址(socat正在侦听的位置)。

您可以将其保存到文件中,但可以编写一些脚本,通过“curl”将数据发送到服务器并且旋转文件。我将这一个进行投票,因为它在需要的时候工作得很好,这个也很直接。JJISE你也应该考虑接受这个答案,如果这对你有用的话。