您的位置:首页 > 运维架构 > Linux

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

2015-03-16 11:27 232 查看
用户的需求。

主要目的是判断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的输出文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: