Skip to content

Latest commit

 

History

History
68 lines (41 loc) · 2.44 KB

logrotate.md

File metadata and controls

68 lines (41 loc) · 2.44 KB

yum install logrotate -y

touch /var/log/log-file head -c 10M < /dev/urandom > /var/log/log-file

vi /etc/logrotate.d/log-file

/var/log/log-file { monthly rotate 5 compress delaycompress missingok notifempty create 644 root root postrotate /usr/bin/killall -HUP rsyslogd endscript }

monthly: 日志文件将按月轮循。其它可用值为‘daily’,‘weekly’或者‘yearly’。

rotate 5: 一次将存储5个归档日志。对于第六个归档,时间最久的归档将被删除。

compress/nocompress: 在轮循任务完成后,已轮循的归档将使用gzip进行压缩。

copytruncate/nocopytruncate:用于还在打开中的日志文件,把当前日志备份并截断

delaycompress/nodelaycompress: 总是与compress选项一起用,delaycompress选项指示logrotate不要将最近的归档压缩,压缩将在下一次轮循周期进行。这在你或任何软件仍然需要读取最新归档时很有用。

nocreate:不建立新的日志文件

missingok: 在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。

ifempty/notifempty: 如果日志文件为空,轮循不会进行。

errors address:专储时的错误信息发送到指定的Email 地址

mail address/nomail:把转储的日志文件发送到指定的E-mail 地址

olddir directory:转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统 noolddir:转储后的日志文件和当前日志文件放在同一个目录下

create 644 root root: 以指定的权限创建全新的日志文件,同时logrotate也会重命名原始日志文件。

postrotate/endscript: 在所有其它指令完成后,postrotate和endscript里面指定的命令将被执行。在这种情况下,rsyslogd 进程将立即再次读取其配置并继续运行。

postrotate/endscript:在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行

sharedscripts:所有的日志文件都轮转完毕后统一执行一次脚本

size size:当日志文件到达指定的大小时才转储,Size 可以指定 bytes (缺省)以及KB (sizek)或者MB

调试: logrotate /etc/logrotate.conf logrotate /etc/logrotate.d/log-file

logrotate -d /etc/logrotate.d/log-file -d 选项以预演方式运行logrotate -f 选项来强制logrotate轮循日志文件 -v 参数提供了详细的输出。 –s /var/log/logrotate-status 指定执行日志