linux 日志按大小切割_日志切割工具logrotate,帮你管理你的日志文件
最近線上系統跑的業務量有點上量,雖然系統性能是穩定的,但是卻有另外一個問題,那就是日志文件越來越大,占用的磁盤空間就越來越大,這樣經常會收到告警信息,不得不手動去清理這些日志文件,這樣手動維護的服務是件很糟糕的事情,不過有這樣一個工具,能夠釋放你的雙手,讓你不再為日志文件越來月膨脹進行苦惱,那就是logrotate!
許多Linux的發行版都會默認裝有logrotate日志管理工具,如果沒有可以通過命令yum -y install logrotate crontabs進行安裝,安裝完成后會有一個主配置文件logrotate.conf和一個配置目錄logrotate.d,這樣的結構是不似曾相識呀,對,就是和nginx的配置文件相似,來看一看它的目錄結構:
我們輸入man logrotate查看一些幫助信息,其中有一些示例如下:
首先要解釋一下這些配置信息:
1、monthly:日志文件將按月輪循。其它可用值為'daily','weekly'或者'yearly'。
2、rotate 5:一次將存儲5個歸檔日志。對于第六個歸檔,時間最久的歸檔將被刪除。
3、compress:在輪循任務完成后,已輪循的歸檔將使用gzip進行壓縮。
4、delaycompress:總是與compress選項一起用,delaycompress選項指示logrotate不要將最近的歸檔壓縮,壓縮將在下一次輪循周期進行。這在你或任何軟件仍然需要讀取最新歸檔時很有用。
5、missingok:在日志輪循期間,任何錯誤將被忽略,例如“文件無法找到”之類的錯誤。
6、notifempty:如果日志文件為空,輪循不會進行。
7、create 644 root root:以指定的權限創建全新的日志文件,同時logrotate也會重命名原始日志文件。
8、postrotate/endscript:在所有其它指令完成后,postrotate和endscript里面指定的命令將被執行。在這種情況下,rsyslogd 進程將立即再次讀取其配置并繼續運行。
9、size:指定文件達到多少m時進行切割
知道了logrotate的配置文件里面的配置信息,下面就來動手試一試吧!
首先創建一個空的日志文件:
把這個日志文件用logrotate管理起來,在/etc/logrotate.d/文件夾下配置管理文件:
現在配置就是文件大于5m時進行切割,通過指令給test.log增加大小:head -c 10M < /dev/urandom > /var/log/testlog/test.log
通過命令logrotate -vf /etc/logrotate.d/test 手動執行一下剛才配置的切割規則,看生效了沒有:
這樣,這個日志文件就根據我們配置的規則,被logrotate管理起來了,不過以上的例子都是小小的測試一下,更多的功能和配置,請輸入man logrotate進行參照和測試!
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的linux 日志按大小切割_日志切割工具logrotate,帮你管理你的日志文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ibatis spring框架升级到5.
- 下一篇: 瑞斯康达nms_瑞斯康达iTN产品资料