使用logrotate工具轮询删除日志文件

logrotate 是 Linux 系统中一个常用的日志文件管理工具,可以自动轮转、压缩、删除指定的日志文件,避免日志文件过大,占用过多的磁盘空间。你可以使用以下步骤来设置 文件的自动清理

创建配置文件

文件位置 /data/log/test-log.log

创建一个配置文件 /etc/logrotate.d/test-log,其中 test-log 是自定义的配置文件名。

在配置文件中添加以下内容:
/data/log/test-log.log {
    daily         
    missingok     
    compress      
    rotate 7      
    notifempty    
    create 0644 root root
}

说明
 daily           # 每天轮转一次
 missingok       # 如果日志文件不存在,则忽略
 compress        # 压缩旧日志文件
 rotate 7        # 保留最近的 7 个日志文件
 notifempty      # 如果日志文件为空,则不轮转
 create 0644 root root  # 轮转后创建一个新的日志文件,并设置权限和所有者


其中,/data/log/test-log.log 是 test-log.log 文件的绝对路径,你需要根据实际情况进行修改。上述配置文件的含义是每天轮转一次 test-log.log 文件,保留最近的 7 个日志文件,并压缩旧日志文件,如果日志文件为空,则不进行轮转。create 选项用于在轮转后创建一个新的日志文件,并设置文件的权限和所有者。
保存配置文件并退出。

执行以下命令来测试配置文件是否正确

sudo logrotate -v /etc/logrotate.d/test-log

添加到定时任务

sudo crontab -e
@daily /usr/sbin/logrotate -f /etc/logrotate.d/test-log
这里的 @daily 表示每天执行一次,/usr/sbin/logrotate -f /etc/logrotate.d/test-log 是执行日志轮转的命令。

这样就可以通过 logrotate 工具实现自动清理 test-log.log 文件。

posted @ 2023-05-04 18:14  szcj~  阅读(518)  评论(0)    收藏  举报