Perl tail在服务器之间登录

时间:2011-07-01 17:18:24

标签: perl

我基本上希望能够在两个服务器之间逐行(尾部)发送apache日志文件(单向,从一个两个),我想使用perl。

任何想法?,我希望能够实时处理每行apache日志,但是在另一台服务器上。

谢谢!

3 个答案:

答案 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