首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态文件名日志旋转

动态文件名日志旋转
EN

Stack Overflow用户
提问于 2013-09-25 01:23:13
回答 2查看 1.4K关注 0票数 1

所有主机都将所有日志发送到RSyslog服务器(ver5.8.10)。

RSyslog使用以下模板保存日志文件-

代码语言:javascript
复制
$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实现这一目标?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-14 19:13:11

现在,我决定使用python脚本来完成这一任务,该脚本可以将所有内容压缩起来,并将其复制到nfs分区中。如果有人已经成功地实现了这个使用日志旋转,请响应此线程。

票数 0
EN

Stack Overflow用户

发布于 2022-01-25 13:42:24

我想你知道logrotate/cron是如何工作的。

您可以使用olddir在同一个物理磁盘上设置目录,并使用postrotateolddir的所有内容移动到不同分区上的目录。

代码语言:javascript
复制
olddir /var/log/x/host/host11/

postrotate
    mv /var/log/x/host/host11/* /nfs/archive/
endscript

或者(如果您不想使用任何旋转后的解决方案),您可以使用符号链接:

代码语言:javascript
复制
sudo ln -s /var/log/x/host/host11 /nfs/archive

注:

请小心使用通配符。如果您指定了*,日志旋转将旋转所有文件,包括以前旋转的文件。一种解决方法是使用olddir指令或更精确的通配符(如*.log)。

我建议您不要将日期用作文件/目录名(引用模板)。您可以在日志旋转中设置它。这样,您就不必使用任何通配符(在您的情况下是多个通配符)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18994714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档