mysql审计日志归档
1、开启审计日志
# 启动审计,在mysql中执行命令:
set global general_log=on;
set global log_timestamps=SYSTEM;
set global general_log_file='db-1.log';
2、审计日志归档
创建归档备份目录
# 创建归档备份目录
mkdir -p /data/backup/audit
cd /data/backup/audit
创建审计日志归档脚本
vim mysql_aud_backup.sh
脚本内容如下:
#!/bin/bash
# mysql审计日志归档脚本
# 保留最近30天审计日志
# crontab -l
# 0 1 * * * nohup sh /data/backup/audit/mysql_aud_backup.sh &
export PATH=.:$PATH:/usr/local/mysql-5.7.34-el7-x86_64/bin
# 设置日志文件路径
aud_folder=/data/mysql/data
backup_folder=/data/backup/audit
# 指定审计日志文件名
fn=db-1.log
dt=$(date +%Y%m%d)
# 切换到审计日志路径
cd $aud_folder
# 归档审计日志
mv $fn $fn.$dt
mysqladmin flush-logs -u root -p'my_sql_pwd'
mv $fn.$dt $backup_folder/
# 保留30天内的审计日志
find $backup_folder/ -mtime +30 -name "$fn.*" |xargs rm -f
添加可执行权限
# 添加可执行权限
chmod +x mysql_aud_backup.sh
3、添加计划任务
# 添加计划任务
crontab -e
0 1 * * * nohup sh /data/backup/audit/mysql_aud_backup.sh &