在Linux上用wget把tail输出的东西提交到其它服务器上
2015-03-16 11:27
232 查看
用户的需求。
主要目的是判断Linux服务器上的日志文件中是否出现了某个关键字(比如XXX错误)。
本来如果可以在上面装东西,就很简单了,用Java写一个。但是用户不喜欢在 服务器上装第三方的东西,只能接受使用Linux自带的工具。
于是看了下,发现tail结合awk,wget可以实现。最后结果是
其实也没啥说的。
tail来获得日志文件最新的内容。获得后,用awk拼装成一个命令串。然后再用awk的system()函数执行这个命令。
在这个命令中,通过wget来向其它的服务器发送日志的内容。发送的时候要用双引号把内容括起来,否则如果日志中有空格之类的东西,就收不到了。
最后,wget的输出文件设置成/dev/null,以免在当前目录生成一大堆wget的输出文件。
主要目的是判断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的输出文件。
相关文章推荐
- vim windows下直接向linux 服务器提交文档
- Linux_解决局域网中其它机器不能访问 RedHat 5.X+ Tomcat 服务器[转]
- visual SVN服务器限定提交必须输出注释
- linux定时备份mysql并同步到其它服务器
- linux定时备份mysql并同步到其它服务器
- Linux scp命令复制文件到其它服务器上
- samba部署和优化(共享我们Linux系统里的目录供windows系统或者linux其它服务器访问下载等等)
- git服务器在linux搭建在window下提交
- linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)
- linux定时备份mysql并同步到其它服务器
- linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)
- Linux命令之tail - 输出文件尾部/动态监视文件尾部
- Linux 使用 tc 与 iptables 限制服务器输出流量
- linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)
- linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)(zz)
- [Linux] 解决局域网中其它机器不能访问 RedHat 5.5 + Tomcat 服务器
- 转: linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)
- Linux命令之tail - 输出文件尾部/动态监视文件尾部
- Linux搭建svn服务器并设置客户端提交自动更新
- linux安装svn服务器,配置提交同步更新到服务器