logrotate實(shí)現(xiàn)日志切割方式(轉(zhuǎn)儲)
logrotate日志切割(轉(zhuǎn)儲)
背景
系統(tǒng)每天凌晨1:59查看/data/nginx/log日志文件的大小,如果小于10M,不做任何處理,如果大于等于10M,觸發(fā)日志轉(zhuǎn)儲,
轉(zhuǎn)儲后/data/nginx/log的大小為0,并且會在/data/nginx/logs/下生成一個通過gzip壓縮的以當(dāng)前日期命名的.gz文件
注意:該配置算不上是日志切割,因?yàn)楫?dāng)日志文件為25M時,也會歸檔為一個文件,并不是以10M為單位進(jìn)行分割,只能稱為日志轉(zhuǎn)儲。
日志切割配置文件/etc/logrotate.conf
cat > /etc/logrotate.conf << EOF
/data/nginx/log {
? ? missingok
? ? notifempty
? ? create 0640 root root
? ? compress
? ? dateext
? ? olddir /data/nginx/logs/
? ? rotate 50
? ? size 10M
}
EOF相關(guān)解釋:
/data/nginx/log ? ? ? ? ? ? ? ?#表示要做切割的日志文件名 missingok ? ? ? ? ? ? ? ? ? ? ?#在日志輪循期間,任何錯誤將被忽略,例如“文件無法找到”之類的錯誤 notifempty ? ? ? ? ? ? ? ? ? ? #如果日志文件為空,輪循不會進(jìn)行 create 0640 root root ? ?? ? ? #以指定的權(quán)限創(chuàng)建全新的日志文件 compress ? ? ? ? ? ? ? ? ? ? ? #在輪循任務(wù)完成后,使用gzip壓縮歸檔文件 dateext ? ? ? ? ? ? ? ? ? ? ? ?#使用當(dāng)前日期作為歸檔文件的命名格式 olddir /data/nginx/logs/ ? ? ? #指定歸檔文件存放到/data/nginx/logs/目錄下,/data/nginx/logs/需提前創(chuàng)建 rotate 50 ? ? ? ? ? ? ? ? ? ? ?#最多存儲50個歸檔文件,當(dāng)生成第51個歸檔文件時,第1個會被刪除 size 10M ? ? ? ? ? ? ? ? ? ? ? #當(dāng)監(jiān)聽文件達(dá)到10M時進(jìn)行切割歸檔
設(shè)置定時任務(wù)
echo "59 01 * * * /usr/sbin/logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log" >> /var/spool/cron/root crond start
logrotate日志切割報錯 文件不再同一個用戶組下
分割日志時報錯:
:error: skipping "/var/log/nginx/test.access.log" because parent
directory has insecure permissions (It's world writable or writable by
group which is not "root") Set "su" directive in config file to tell
logrotate which user/group should be used for rotation.
xx 文件所屬用戶
添加“su root xx”到/etc/logrotate.d/nginx文件中即可
如下:
/var/log/nginx/*.log {
su root public
daily
missingok
rotate 52
compress
delaycompress
notifempty
#ifempty
create 0640 www-data adm
sharedscripts
postrotate
[ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
endscript
}總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux強(qiáng)制釋放占用端口以及Linux防火墻端口開放方法詳解
在linux系統(tǒng)中安裝一些軟件時有時遇到端口被占用的情況,本文為大家介紹了遇到這種情況我們應(yīng)該怎么處理2018-10-10
Linux實(shí)現(xiàn)自動掛載autofs的方法詳解
這篇文章主要介紹了Linux實(shí)現(xiàn)自動掛載autofs的相關(guān)資料。autofs 服務(wù)將實(shí)現(xiàn)自動掛載外圍設(shè)備,NFS共享目錄等,并在空閑5分鐘后后自動卸載,需要的可以參考一下2022-10-10
Linux中利用Vim對文件進(jìn)行密碼保護(hù)的方法詳解
這篇文章主要給大家介紹了在Linux中利用Vim對文件進(jìn)行密碼保護(hù)的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-06
Linux運(yùn)維從初級進(jìn)階為高級知識點(diǎn)總結(jié)
在本篇文章里小編給大家整理了關(guān)于Linux運(yùn)維從初級進(jìn)階為高級知識點(diǎn)總結(jié)內(nèi)容,需要的為朋友們學(xué)習(xí)下。2019-06-06
在ubuntu16.04上創(chuàng)建matlab的快捷方式(實(shí)現(xiàn)方法)
下面小編就為大家分享一篇在ubuntu16.04上創(chuàng)建matlab的快捷方式實(shí)現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助2017-12-12
在linux (centos)上使用puppeteer實(shí)現(xiàn)網(wǎng)頁截圖功能
這篇文章主要介紹了在linux (centos)上使用puppeteer實(shí)現(xiàn)網(wǎng)頁截圖功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11

