0 logrote日志文件切割策略目录 /etc/logrotate.d/
1 编写相关日志保留策略-mysqllog
/opt/data/*.log(可用正则匹配) {
monthly #指定所有的日志文件每月转储一次其它可用值为'daily','weekly'或者'yearly'。
rotate 7 #保留文件个数
missingok #如果日志不存在, 则忽略该警告信息
notifempty #空文件则不进行切割生成
copytruncate #用于还在打开中的日志文件,把当前日志备份并截断
create 0755 work work # 创建属组权限文件
dateext #轮换的日志后缀为-YYYYMMDD格式
dateformat -%Y-%m-%d #具体的格式化,配合dateext使用
}
2 手动触发
logrotate -d logrotate.mysql测试
logrotate -v -f logrotate.mysql 强制
3 自动触发
logrotate默认是利用crontab自动触发
/etc/cron.daily/logrotate-定时任务
/var/lib/logrotate/logrotate.status 切割文件状态
4 切割时间问题
1 自动切割时间 默认的logrotate(配置文件里设置的是cron.daily)一般会在每天的3点05分到3点50分之间执行
2 自定义切割时间 建立独立的目录,然后crontab设置logrotate -v -f logrotate.mysql 即可