使用logrotate实现日志自动轮转,长期存储,可以自行到软件包中下载并安装logrotate。
配置logrotate
在 /etc/logrotate.d
目录中创建配置文件,此处配置nikki日志为例
/var/log/nikki/core.log {
hourly
rotate 4320
missingok
notifempty
copytruncate
dateext
dateformat -%Y-%m-%d-%H.log
su root root
postrotate
mkdir -p /opt/nikki/log
mv /var/log/nikki/core.log-* /opt/nikki/log/ 2>/dev/null || true
endscript
}
/var/log/nikki/core.log
:日志文件hourly
:日志文件每小时轮转一次rotate 4320
:保留6个月日志missingok
:如果日志文件不存在,不会报错notifempty
:如果日志文件为空,则不进行轮转copytruncate
:先复制日志文件内容,然后清空原文件dateext
:使用日期作为轮转后日志文件的扩展名dateformat -%Y-%m-%d-%H.log
:指定轮转后日志文件的命名格式su root root
:以root
用户和组运行日志轮转操作postrotate ... endscript
:在日志轮转完成后执行的脚本- 确保目录存在
- 复制日志文件
配置定时执行
crontab -e
加入一行,每小时执行一次
0 * * * * /usr/sbin/logrotate /etc/logrotate.conf