首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux中的日志旋转

问Linux中的日志旋转
EN

Unix & Linux用户
提问于 2014-11-04 04:02:43
回答 1查看 5.8K关注 0票数 1

每当我在ls目录中执行/var/log命令时,我都可以找到日志文件,例如messages,以及它们的旋转版本,例如messages.1.gz。

即使我没有使用像logrotate这样的实用工具,这些文件是如何自动旋转的?对于要旋转的文件,标准是什么(例如日志文件应该达到'X‘MB或者每'N’天旋转一次)?如何控制(启用/禁用)日志旋转?

注:我写了一个bash脚本,它将在每个月的第一天运行。此脚本将压缩日志文件,将压缩文件复制到远程服务器,并清空原始日志文件(以便在下一次运行时可用较新的日志)。因此,我不希望日志文件被旋转。

EN

回答 1

Unix & Linux用户

发布于 2014-11-04 04:37:11

检查这里是否有任何文件:/etc/logrotate.d

如果是这样的话,删除与您不想旋转的内容相关的任何内容。但是,要小心您要删除的内容,确保您有一个文件清理方法,所有的文件是旋转的,用日志旋转,否则你有一天醒来的风险,而不了解你的文件系统是如何耗尽磁盘空间的。

更新

可以在logrotate.d目录中的单个文件中指定多个文件,例如syslog文件。这也恰好是您提到的messages日志的目标所在。

/etc/logrotate.d/syslog

代码语言:javascript
复制
/var/log/messages 
/var/log/secure 
/var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
        /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

更新#2

运行此命令以查看正在旋转的日志文件是否为syslog而不是log转速:

代码语言:javascript
复制
grep -rni "message" /etc/cron.*/*

在Debian风味的系统上,syslog旋转可以由cron每日脚本控制,通常位于/etc/cron.daily/sysklogd中。我的grep命令应该有助于确定在您的情况下这是否是正确的(即使您在RHEL上)。

更多信息可以在这里找到:http://www.ducea.com/2006/06/06/rotating-linux-log-files-part-1-syslog/

也请检查:grep -rni "message" /etc/rsyslog.d/*

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

https://unix.stackexchange.com/questions/165824

复制
相关文章

相似问题

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