OpenWRT长期保存日志

25 年 9 月 10 日 星期三 (已编辑)
255 字
2 分钟

使用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

文章标题:OpenWRT长期保存日志

文章作者:violet

文章链接:https://www.vio.vin/posts/openwrt-chang-qi-bao-cun-ri-zhi[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。