使用logrotate实现按天存放脚本运行日志

logrotate 是 Linux 系统自带的日志轮转工具,用于 自动分割、压缩、删除和归档日志,防止日志文件过大占用磁盘空间

确认脚本及日志文件路径

  1. 日志文件:/root/log/datapath.log

  2. 给脚本单独配置logrotate:/etc/logrotate.d/datapath

    1. logrotate全局配置:/etc/logrotate.conf

修改logrotate配置

vim /etc/logrotate.d/datapath

/root/log/datapath.log {
    daily              # 按天轮转
    missingok          # 如果日志不存在,不报错
    rotate 7           # 保留最近7天的日志
    notifempty         # 空日志不轮转
    create 0666 root root  #轮转后创建新日志文件(权限 666)(可以不用,脚本会自动创建新日志文件)
    dateext            # 使用日期作为后缀(格式:YYYYMMDD)
}
/root/log/datapath.log {
    daily              
    missingok          
    rotate 7          
    notifempty         
    dateext            
}

实际使用

  1. 运行脚本,生成日志到/root/log/datapath.log
  2. 同步系统时间:timedatectl set-ntp true,查看同步状态 timedatectl status
  3. 配置cron定时执行轮转
    1. 存放需要每日运行的脚本:/etc/cron.daily/
    2. 执行run-parts /etc/cron.daily
1、编辑用户级cron任务
crontab -e 
#每天10点执行(-v 显示详细信息 -f 强制轮转 没到时间也轮转)
0 10 * * * /usr/sbin/logrotate -vf /etc/logrotate.d/datapath

2、查看cron任务
crontab -l

3、查看cron执行日志
cat /var/log/cron

  

  

posted @ 2025-07-15 11:24  Fēngwèi  阅读(31)  评论(0)    收藏  举报