logrotate日志轮转

    xiaoxiao2025-05-27  13

    问题 针对/var/log/admin.log设置轮转,要求如下要求每天轮转一次、保留3个备份、启用压缩日志不存在时忽略当文件大于100k也达到一天时自动轮转创建的新文件权限0600,所有者root,所属组root 方案

    logrotate轮转优点:减小日志文件大小,降低分析难度、丢弃过期日志以节省空、结合cron计划任务每天执行。

    /etc/cron.daily/logrotate:每日计划任务执行的脚本。

    全局配置文件:/etc/logrotate.conf。

    自定义轮转配置文件:/etc/logrotate.d/*。

    步骤

    实现此案例需要按照如下步骤进行。

    步骤一:针对/var/log/admin.log设置轮转,要求如下

    主要实现以下要求:

    每天轮转一次、保留3个备份、启用压缩日志不存在时忽略当文件大于100k也达到一天时自动轮转创建的新文件权限0600,所有者root,所属组root

    可以写在全局配置文件中也可以写在自定义配置文件中,推荐自定义配置文件。

    命令操作如下所示:

    [root@svr5 /]# cd /etc/logrotate.d/

    [root@svr5 logrotate.d]# vim admin.log

    [root@svr5 logrotate.d]# cat admin.log

    /var/log/admin.log {                      //注意大括号要写全

            daily                              //每天轮转一次

            rotate 3                           //保留3个备份

            minsize 100k                       //文件大于100k也达到一天时间自动轮转

            missingok                          //丢失不提示

            compress                           // 轮转完的文件压缩

            create 0600 root root          //创建的新文件权限0600,所有者root,所属组root

    }

    [root@svr5 logrotate.d]#

    测试可以强制轮转一次,命令操作如下所示:

    [root@svr5 logrotate.d]# ls /var/log/admin.log*

    /var/log/admin.log

    [root@svr5 logrotate.d]# logrotate -f /etc/logrotate.d/admin.log

    [root@svr5 logrotate.d]# ls /var/log/admin.log*

    /var/log/admin.log  /var/log/admin.log.1.gz

    最新回复(0)