Logrotate
日誌旋轉不起作用
我想為我的 Tomcat 伺服器的 catalina.out 日誌文件設置每日 logrotate,但它不起作用 - 我沒有看到創建的旋轉日誌文件。
為了排除故障,我執行***
logrotate -d /etc/logrotate.conf
***並得到以下資訊:rotating pattern: /usr/local/tomcat/logs/catalina.out 5242880 bytes (7 rotations) empty log files are rotated, old logs are removed considering log /usr/local/tomcat/logs/catalina.out log needs rotating rotating log /usr/local/tomcat/logs/catalina.out, log->rotateCount is 7 dateext suffix '-20151223' glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' glob finding old rotated logs failed copying /usr/local/tomcat/logs/catalina.out to /usr/local/tomcat/logs/catalina.out-20151223 truncating /usr/local/tomcat/logs/catalina.out compressing log with: /bin/gzip
似乎一切正常,沒有任何錯誤。但是,沒有結果:
[root@gec logrotate.d]# ls -lrth /usr/local/tomcat/logs/cata* -rw-r--r-- 1 root root 398 Dec 4 17:48 /usr/local/tomcat/logs/catalina.2015-12-04.log -rw-r--r-- 1 root root 109M Dec 23 17:21 /usr/local/tomcat/logs/catalina.out
我的***
/etc/logrotate.conf
***:daily rotate 7 # 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
我的***
/etc/logrotate.d/tomcat
***:/usr/local/tomcat/logs/catalina.out { copytruncate daily rotate 7 compress missingok size 5M }
怎麼了?
更新:
有趣的是,執行***
logrotate -f /etc/logrotate.conf
***會創建旋轉 gzip 文件![root@gec logrotate.d]# ls -lrth /usr/local/tomcat/logs/cata* -rw-r--r-- 1 root root 398 Dec 4 17:48 /usr/local/tomcat/logs/catalina.2015-12-04.log -rw-r--r-- 1 root root 1.1M Dec 23 17:26 /usr/local/tomcat/logs/catalina.out-20151223.gz -rw-r--r-- 1 root root 109K Dec 23 17:27 /usr/local/tomcat/logs/catalina.out
但是,我怎麼知道每天的 cron 作業是否有效?
你在
logrotate -d /etc/logrotate.conf
爭論-d
。參數是調試模式,你可以說是“
-d
幹執行”。它只會在 logrotate 可以工作但不會輪換日誌的情況下為您提供資訊。自參數指定 logrotate 以強制 logrotate以來的
logrotate -f
工作。-f
引用logrotate的手冊:
- -d,–調試
打開調試模式並暗示 -v。在調試模式下,不會對日誌或 logrotate 狀態文件進行任何更改。
- -f, –force 告訴 logrotate 強制旋轉,即使它認為沒有必要。有時這在向 logrotate 配置文件添加新條目後很有用
,或者如果
手動刪除了舊日誌文件,因為將創建新文件,並且日誌記錄
將繼續正確。
如果
logrotate -d /etc/logrotate.conf
給你輸出日誌將被旋轉和壓縮,那麼當 logrotate 將通過你的配置文件時它肯定會旋轉它。