2017-07-03 72 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

相关问题