使用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 @   szcj~  阅读(363)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示