所有主机都将所有日志发送到RSyslog服务器(ver5.8.10)。
RSyslog使用以下模板保存日志文件-
$template RemoteHost,"/var/log/x/host/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%/%APP-NAME%.log"因此,来自host11的windows事件日志将被记录到-host11。
现在,我想设置日志旋转,这样就可以压缩一整天的日志文件,并发送到‘/nfs/存档/’。因此,当存档时,上面的日志文件应该是- /nfs/archive/2013-09-24.tgz。请注意,我不是在压缩单个日志文件,而是压缩整个目录。
如何使用log转速/cron实现这一目标?
发布于 2014-04-14 19:13:11
现在,我决定使用python脚本来完成这一任务,该脚本可以将所有内容压缩起来,并将其复制到nfs分区中。如果有人已经成功地实现了这个使用日志旋转,请响应此线程。
发布于 2022-01-25 13:42:24
我想你知道logrotate/cron是如何工作的。
您可以使用olddir在同一个物理磁盘上设置目录,并使用postrotate将olddir的所有内容移动到不同分区上的目录。
olddir /var/log/x/host/host11/
postrotate
mv /var/log/x/host/host11/* /nfs/archive/
endscript或者(如果您不想使用任何旋转后的解决方案),您可以使用符号链接:
sudo ln -s /var/log/x/host/host11 /nfs/archive注:
请小心使用通配符。如果您指定了*,日志旋转将旋转所有文件,包括以前旋转的文件。一种解决方法是使用olddir指令或更精确的通配符(如*.log)。
我建议您不要将日期用作文件/目录名(引用模板)。您可以在日志旋转中设置它。这样,您就不必使用任何通配符(在您的情况下是多个通配符)。
https://stackoverflow.com/questions/18994714
复制相似问题