Mysql通用日志(general)文件太大,如何定期清理与备份

Mysql通用日志(general)文件太大,想保留近期数据,又想不占用太多空间,该如何定期清理与备份

一、编写备份与清理的脚本

创建存放脚本和备份日志的目录
mkdir -p /mysql_backup/log

创建脚本
cd  /mysql_backup
touch msql_backup.sh
chmod +x msql_backup.sh

查看日志文件存放目录
mysql -uroot -p123
mysql> show variables like 'general%';
+------------------+---------------------+
| Variable_name    | Value               |
+------------------+---------------------+
| general_log      | ON                  |
| general_log_file | /var/log/select.log |
+------------------+---------------------+
2 rows in set (0.00 sec)


vim msql_backup.sh
#!/bin/bash
#第一步备份
general_log_file=/var/log/select.log
backup_dir=/mysql_backup/log
logs=$(find $backup_dir/ -name "*.log" | wc -l)
if [  $logs -ge 3   ];then
rm -rf $backup_dir/*
cp -a $general_log_file  $backup_dir/select_backup-`date +%F`.log
else
cp -a $general_log_file  $backup_dir/select_backup-`date +%F`.log
fi
#第二步,清楚数据(如果直接删除日志文件,日志数据并不会消失,再次创建的文件依旧很大)
cat  /dev/null >  $general_log_file

二、编写计划任务

创建计划任务
crontab -e
0 0  */3 * * /mysql_backup/msql_backup.sh  #表示每隔3天晚上的12点整会执行该脚本
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值