Logrotate
logrotate Compress根本不起作用redhat 7
我的 logrotate 壓縮根本不起作用。日誌輪換將旋轉文件,但它根本不壓縮。我正在做的任何簡單錯誤請告訴我。這是 logrotate -v /etc/logrotate.conf 的輸出
rotating pattern: /var/log/btmp monthly (1 rotations) empty log files are not rotated, old logs are removed considering log /var/log/btmp log does not need rotating rotating pattern: /tmp/app/stderr 419430400 bytes (1 rotations) empty log files are not rotated, old logs are removed considering log /tmp/app/stderr log needs rotating rotating log /tmp/app/stderr, log->rotateCount is 1 dateext suffix '-20160603' glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' glob finding logs to compress failed glob finding old rotated logs failed fscreate context set to unconfined_u:object_r:user_tmp_t:s0 renaming /tmp/app/stderr to /tmp/app/stderr-20160603 creating new /tmp/app/stderr mode = 0755 uid = 0 gid = 0 set default create context [root@localhost app]# ls -l total 2103448
這是我的 conf 文件 logrotate.conf
# rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 4 # create new (empty) log files after rotating old ones create # use date as a suffix of the rotated file dateext # uncomment this if you want your log files compressed compress # RPM packages drop log rotation information into this directory include /etc/logrotate.d # no packages own wtmp and btmp -- we'll rotate them here /var/log/wtmp { monthly create 0664 root utmp minsize 1M rotate 1 } /var/log/btmp { missingok monthly create 0600 root utmp rotate 1 } # system-specific logs may be also be configured here. /tmp/app/stderr { missingok rotate 1 daily size 400M compress su }
添加
delaycompress
到配置部分/var/log/
將解決問題。來自
man logrotate
:delaycompress Postpone compression of the previous log file to the next rota‐ tion cycle. This only has effect when used in combination with compress. It can be used when some program cannot be told to close its logfile and thus might continue writing to the previ‐ ous log file for some time.
有趣的是,我的原始配置(沒有
delaycompress
指令)直接來自man logrotate
(除了我改為weekly
)daily
:# sample logrotate configuration file compress /var/log/messages { rotate 5 weekly postrotate /usr/bin/killall -HUP syslogd endscript }