作者:站长 发布于:2020-8-29 18:35 Saturday 分类:linux
1.工具:logrotate centos系统自带的一款工具,还是蛮方便的。
2.安装logrotate 【yum -y install logrotate crontabs】
3.工具目录:
/etc/logrotate.conf # 主配置文件
/etc/logrotate.d # 配置目录
4.创建任务实例:
实例参考:
--------------------------
#【需要切割的log存放目录】
/home/wwwlogs/*.log {
#【按照天进行切割操作】
daily
#【旧的日志保留周期数量】
rotate 181
【工具在运行期间,忽略所有错误】
missingok
#【dateext 切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期,没有这个配置项会附加一个小数点加一个数字序号.dateformat 配合dateext使用可以为切割后的日志加上YYYYMMDD格式的日期,如dateformat -%Y%m%d】
dateext
#【通过指定的权限,创建新的日志文件】
create 666 www www
#【旧日志的存放位置,必须和当前日志文件在同一个文件系统】
olddir /home/wwwlogs/log_backup
#【对旧文件对进行压缩】
compress
#【运行postrotate脚本,作用是在所有日志都轮转后统一执行一次脚本。如果没有配置这个,那么每个日志轮转后都会执行一次脚本】
sharedscripts
#【在logrotate转储之后需要执行的指令,例如重新启动 (kill -HUP) 某个服务!必须独立成行】
postrotate
if [ -f /usr/local/nginx/logs/nginx.pid ];then
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
fi
endscript
}
------------------------
启动命令:
logrotate /etc/logrotate.conf # 启动所有配置的日志管理
logrotate /etc/logrotate.d/xxx # 启动xxx服务的日志管理
logrotate -f /etc/logrotate.d/xxx # 强制生效,执行一次
logrotate -vf /etc/logrotate.d/xxx # 强制生效,执行一次,同时打印执行信息