使用rsyslog远程logging到特定的目录结构

我目前正在让所有的各种服务器把系统日志消息发送到中央服务器。 我想要在中央服务器上有以下目录结构的日志发送到。

<root_dir>/<server_name>/<year>/<month>/<day>/{messages, mail, auth, etc}.log 

这是我可以单独与rsyslog模板做什么,或者我需要使用另一个实用程序将文件移动到正确的文件位置?

我不知道如何创build目录,但其余的部分应该由filter和dynamic文件名来处理。

通常在这样的情况下,我会logging文件模式。

 /var/log/<server_name>{messages,mail,auth,etc}.YYYYMMDD 

由服务器分隔日志可能会使服务器之间的跟踪条件变得困难。 日志消息通常包括始发服务器,因此使用awkgrep或任何其他模式匹配工具很容易检索特定服务器的消息。 缩小多个日志文件可能也很困难,您可能会遇到资源限制。

典型的日志旋转是由像logrotate这样的程序来处理的。 这使您可以控制特定文件的日志旋转频率,并控制您保留的版本数量。 这是postrotate行动可以用来从刚刚旋转的文件分裂出date到所需的forms。 这可能会更好。