gpt4 book ai didi

linux - 使用 unix 命令通过 http 流式传输日志文件数据。尾部和 curl 的组合

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:07:18 24 4
gpt4 key购买 nike

我需要在 Linux 机器上跟踪日志文件,并通过 http 端口将日志文件的更新流式传输到远程机器。我写了一个结合了“tail”和“curl”的命令。为了最初对其进行测试,我使用了“tail -n”,它运行良好并成功地将数据发布到远程机器。下面是命令。

$tail -n 200/path/to/logfile/file1.log | curl --data-binary @- http://remotemachineIP:9000

现在,当我尝试使用“tail -f”运行相同的命令时,即使日志文件已更新多次,它也不会通过 http 发布任何数据。下面是命令

$tail -f --follow=名称/path/to/logfile/file1.log | curl --data-binary @- http://remotemachineIP:9000

根据我的理解,“tail -f”传达我的“curl”命令,即“输入提要通过 stdin(@-) 完成”。关于如何纠正此问题的任何帮助?

提前致谢

最佳答案

curl 将使用管道数据发出单个 HTTP POST 请求。您要做的是连续发送数据。

假设您所说的“HTTP 端口”实际上是指 TCP,有一种方法可以使用 netcat:

远程

nc -l 9000

本地

tailf/path/to/log/file | nc remote_ip 9000

关于linux - 使用 unix 命令通过 http 流式传输日志文件数据。尾部和 curl 的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31856539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com