github鏈接:https://github.com/logrotate/logrotate
作用:對(duì)log進(jìn)行壓縮&備份
安裝步驟
下載源碼,https://github.com/logrotate/logrotate/releases/download/3.18.1/logrotate-3.18.1.tar.xz
安裝依賴工具包
yum install autoconf automake libtool make popt-devel xz開始安裝
cd logrotate-3.18.1
autoreconf -fiv
./configure
make
配置示例
compress
/Data/nginx/logs/access``.log {
daily
rotate 15
nomail
missingok
olddir backup/
dateext
dateformat -%Y%m%d
postrotate
echo
''
> ``/Data/nginx/logs/access``.log
endscript
}
|
配置解析
logrotate每天執(zhí)行一次少欺,如果按小時(shí)或按文件大小備份御毅,需要添加logrotate命令至crontab,按指定的時(shí)間執(zhí)行恩敌。
Note that usually logrotate is configured to be run by cron daily. You have to change this configuration and run logrotate hourly to be able to really
rotate logs hourly.
使用中的一些坑
nginx日志清理后新的日志無(wú)法記錄,nginx需要執(zhí)行reload命令横媚,于是logrotate配置修改如下:
|
compress
"/Data/nginx/logs/nginx.log"
/Data/nginx/logs/access``.log {
daily
rotate 15
maxsize 5G
nomail
missingok
olddir backup/
dateext
dateformat -%Y%m%d
sharedscripts ``#腳本共享纠炮,所有日志只執(zhí)行一次
postrotate
echo
''
> ``/Data/nginx/logs/nginx``.log
echo
''
> ``/Data/nginx/logs/access``.log
endscript
lastaction ``#腳本執(zhí)行后的動(dòng)作,reload nginx以生效新的log file
nginx -s reload
endscript
}
|