使用logrotate实现按天存放脚本运行日志
logrotate 是 Linux 系统自带的日志轮转工具,用于 自动分割、压缩、删除和归档日志,防止日志文件过大占用磁盘空间
确认脚本及日志文件路径
-
日志文件:/root/log/datapath.log
-
给脚本单独配置logrotate:/etc/logrotate.d/datapath
-
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
}
实际使用
- 运行脚本,生成日志到/root/log/datapath.log
- 同步系统时间:timedatectl set-ntp true,查看同步状态 timedatectl status
- 配置cron定时执行轮转
- 存放需要每日运行的脚本:/etc/cron.daily/
- 执行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
本文来自博客园,作者:Fēngwèi,转载请注明原文链接:https://www.cnblogs.com/fengwei-blogs/p/18985325

浙公网安备 33010602011771号