log日志轮转--logrotate
? 服務器上的日志包括系統日志和服務日志每天都會產生n多log,好多人會自己寫腳本來進行日志的切割、壓縮等,而忽略了系統自帶的服務--logrotate。
? 簡介
? logrotate是個十分有用的工具,它可以自動對日志進行截斷(或輪循)、壓縮以及刪除舊的日志文件。它是基于CRON來運行的,其腳本是「/etc/cron.daily/logrotate」。主流Linux發行版上都默認安裝有logrotate包,這也是我選擇用他的主要原因。
? 使用
? 實際運行時,Logrotate會調用配置文件「/etc/logrotate.conf」:
也可以在「/etc/logrotate.d」目錄里放置自己的配置文件,用來覆蓋Logrotate的缺省值。
下面是一個切割rabbitmq日志的例子:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | /var/log/rabbitmq/*.log?{ ????????weekly ????????missingok ????????rotate?20 ????????compress ????????delaycompress ????????notifempty ????????dateext ????????copytruncat ????????sharedscripts?????? ????????postrotate ????????????/etc/init.d/rabbitmq-server?rotate-logs?>?/dev/null ????????endscript |
logrotate參數說明:
daily — 每日旋轉日志文件。
weekly — 每周旋轉日志文件。
monthly — 每月旋轉日志文件。
compress — 用gzip壓縮旋轉的日志文件。
size size — 在日志文件達到一定大小時開始旋轉。大小是以bytes (默認), kilobytes (sizek)或megabytes (sizem)計算。
nocompress — 在不需要壓縮旋轉日志文件的情況下使用。
delaycompress — 在使用壓縮選擇時,旋轉文件不會在下一個循環開始時被壓縮。
copytruncate — 用于還在打開中的日志文件,把當前日志備份并截。復制當前的日志文件,并置空當前文件。
nocopytruncate — 把日志文件復制進備份,但該開放文件不會被裁剪。
dateext - 用時間格式表示日志,輪換的日志后綴為-YYYYMMDD格式
rotate count — 在刪除前旋轉文件的特定次數。如果計數為零,就意味著沒有副本保留。而5則意味著保留5個副本。
create mode owner group — 旋轉日志文件并創建允許特定組合用戶的新文件。缺省是使用與原始文件一樣的模式,組合用戶。
missiongok - 如果文件找不到的話不會報錯,直接跳過
nocreate — 可以防止產生新日志文件。
nodelaycompress – ? ?日志文件會在循環過程中被壓縮。
errors address — 將logrotate錯誤郵件發送到某個地址。
ifempty — 即使在空文件時也要旋轉。這是Logrotate的缺省項。
notifempty — 空文件不旋轉。
mail address — 這個郵件日志文件是循環到一個地址,因此能有效從系統中清楚。
nomail - 在郵件日志循環時,副本不郵寄。
olddir directory — 這個選項會將循環日志文件保持在特定目錄。該目錄必需與現有日志文件在同一文件系統。
noolddir — 循環的日志文件與現有文件處于相同目錄。
prerotate/endscript - 在轉儲以前需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行
postrotate/endscript -?在轉儲以后需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行
其他參數可自行通過man logrotate查看幫助。
? ? ? 本文轉自Jx戰壕 ?51CTO博客,原文鏈接:http://blog.51cto.com/xujpxm/1861431,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的log日志轮转--logrotate的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到哥哥疯了是什么意思
- 下一篇: Win2003磁盘分区调整