个人技术分享

说明

/data/pitp/mysql/data/KYMYSQL.err { #指定日志文件
    daily                  #指定所有的日志文件每天转储一次
    missingok              #如果日志不存在, 则忽略该警告信息
    rotate 30              #保留文件个数
    compress               #压缩日志文件的所有非当前版本
    delaycompress          #压缩除了当前和最近之外的日志文件的所有版本
    notifempty             #空文件则不进行切割生成
    create 644 mysql mysql # 创建属组权限文件
    sharedscripts          #只为整个日志组运行一次的脚本
    dateext                #轮换的日志后缀为-YYYYMMDD格式
    dateformat -%Y-%m-%d   #具体的格式化,配合dateext使用
    postrotate
        /data/pitp/mysql/bin/mysqladmin flush-logs  -uroot -pabcd.1234 -S /tmp/mysql.sock
    endscript
}
配置文件的postrotate和endscript部分,我们使用了mysqladmin命令来执行MySQL的flush-logs操作。
这个操作可以强制MySQL将当前的日志文件切换为一个新的日志文件,以便logrotate可以安全地对旧的日志文件进行切割。

部署操作



1 配置定时任务

root操作
crontab -e

59 23 * * * /usr/sbin/logrotate -f mysql-log-rota