繁体   English   中英

Perl 尾登录服务器间

[英]Perl tail logs in between servers

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

有什么想法吗?,我希望能够实时处理 apache 日志的每一行,但在另一台服务器上。

谢谢!

不确定 Perl (您可以将其包含在 Perl 中,以便您可以操作数据),但 netcat(或简称 nc)(应该在大多数系统上可用)。

在一台服务器上

tail -f filename | nc -l 12345

在另一台服务器上

nc hostname 12345

当然,您可以使用不同的端口号。 所以我猜在 Perl 中你会执行这些命令(ssh 到远程服务器等)。 希望这给了你一些想法。 nc 有很多选项,所以你应该能够找到一些东西。

如果您想在 Perl 中编写 netcat,那么情况就略有不同了。

您可以使用管道日志 This way your perl script will get every log line on standard input and then it's up to you, how you are going to send them (SSH, FTP, HTTP or maybe even connect to SQL etc).

一个非常简单的解决方案是使用Net::SFTP::Foreign通过 SFTP 从远程主机跟踪日志文件。

该模块包含一个实现远程尾部的示例脚本: sftp_tail.pl

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM