在Linux上用wget把tail输出的东西提交到其它服务器上

本文介绍了一种利用Linux自带工具tail、awk及wget实现实时监控日志文件中特定关键字的方法,并将匹配到的关键字通过网络发送到指定服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用户的需求。

主要目的是判断Linux服务器上的日志文件中是否出现了某个关键字(比如XXX错误)。

本来如果可以在上面装东西,就很简单了,用Java写一个。但是用户不喜欢在 服务器上装第三方的东西,只能接受使用Linux自带的工具。

于是看了下,发现tail结合awk,wget可以实现。最后结果是

tail -f /tmp/1.log | awk '{ system("wget -q -O /dev/null http://192.168.1.100:8080/log?content=\"" $0 "\"")}' > /dev/null       

其实也没啥说的。

tail来获得日志文件最新的内容。获得后,用awk拼装成一个命令串。然后再用awk的system()函数执行这个命令。

在这个命令中,通过wget来向其它的服务器发送日志的内容。发送的时候要用双引号把内容括起来,否则如果日志中有空格之类的东西,就收不到了。

最后,wget的输出文件设置成/dev/null,以免在当前目录生成一大堆wget的输出文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值