簡體   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