logrotate是個強大的系統軟件,它對日志文件有著一套完整的操作模式,譬如:轉儲、郵件和壓縮等,並且默認logrotate加到 cron(/etc/cron.daily/logrotate)作為每日任務執行。自動有了logrotate,我想不用再自己寫日志切割腳本。
如下對Tomcat日志catalina.out日志切割
# ls -lh /usr/local/tomcat/logs/catalina.out -rw-r--r-- 1 www www 14M Aug 28 15:55 /usr/local/tomcat/logs/catalina.out
配置logrotate對catalina.out日志切割
# cat /etc/logrotate.d/tomcat /usr/local/tomcat/logs/catalina.out { daily rotate 5 missingok dateext compress notifempty copytruncate }
參數詳解:
立即截斷日志:
# logrotate --force /etc/logrotate.d/tomcat
效果如下:
# ls -lh /usr/local/tomcat/logs/catalina.out* -rw-r--r-- 1 www www 0 Aug 28 16:00 /usr/local/tomcat/logs/catalina.out -rw-r--r-- 1 www www 1.1M Aug 28 16:00 /usr/local/tomcat/logs/catalina.out-20150828.gz