我基本上希望能够在两个服务器之间逐行(尾部)发送apache日志文件(单向,从一个两个),我想使用perl。
任何想法?,我希望能够实时处理每行apache日志,但是在另一台服务器上。
谢谢!
答案 0 :(得分:1)
不确定Perl(您可以将它包装在一些Perl中以便您可以操作数据),但netcat(或简称nc)(应该在大多数系统上都可用)。
在一台服务器上
tail -f filename | nc -l 12345
在另一台服务器上
nc hostname 12345
当然,您可以使用不同的端口号。所以我想在Perl中你会执行这些命令(ssh到远程服务器等)。希望这给了你一些想法! nc有很多选项,所以你应该能够找到一些东西。
如果你想在Perl中编写netcat,那么这个故事会略有不同。
答案 1 :(得分:0)
您可以使用piped logs。这样你的perl脚本就可以在标准输入上得到每个日志行,然后由你决定,你将如何发送它们(SSH,FTP,HTTP甚至连接到SQL等)。
答案 2 :(得分:0)
一个非常简单的解决方案是使用Net::SFTP::Foreign通过SFTP从远程主机拖尾日志文件。
该模块包含一个实现远程尾部的示例脚本:sftp_tail.pl