CentOS 6.4 上 Pure-ftpd 与多个域分离 xfer 日志文件

CentOS 6.4 上 Pure-ftpd 与多个域分离 xfer 日志文件

使用 Pure-ftpd 守护程序提供 ftp 服务。我修改了 init 脚本以运行具有不同 IP、单独 DB 和单独 WELCOME MSG 的多个域。

daemon "$pure_launch_script /etc/pure-ftpd/dom1.conf --daemonize > /dev/null -F /etc/pure-ftpd/dom1.msg"
daemon "$pure_launch_script /etc/pure-ftpd/dom2.conf --daemonize > /dev/null -F /etc/pure-ftpd/dom2.msg"
daemon "$pure_launch_script /etc/pure-ftpd/dom3.conf --daemonize > /dev/null -F /etc/pure-ftpd/dom2.msg"

一切都运行正常,没有错误。但痛苦的是,我服务的所有域都(详细地)记录在一个 xfer.log 文件中。调查和监控活动并不方便。我的系统使用非常先进的 rsyslog ... 所以,我看到的唯一解决方案是过滤消息,但必须通过专用于多个服务器中的每一个的接口的 IP 进行过滤,并且在 rsyslog 中找不到此过滤器。唯一的选项是 fromhost-ip ... 在我的情况下不起作用,无法通过 $msg 包含进行过滤,因为用户以 user@remoteip 的方式记录...

我现在就是黑洞……如果有人有一个好主意,那就太好了。

答案1

A. 你需要修改代码(哎哟)

B. 创建命名管道,这样所有三个实例都可以写入它,从另一端,您可以使用简单的脚本读取所有消息,并且根据运行的 pid,您将知道该消息属于哪个实例

http://www.linuxjournal.com/content/using-named-pipes-fifos-bash

通过其他操作,我非常确定您可以在每个实例启动期间通过写入变量(PID)来实现自动化,因此您不需要在每次解析输出时检查实例的 pid。

相关内容