mysql自动备份清理脚本
问题描述:linux下配置mysql自动备份和清理脚本
解决办法:在mysql目录下创建一个mysql_auto.sh文件,赋予执行权限
#!/bin/bash
source /etc/profile # 加载系统环境变量
#存放目录
BackupDir=/data/mysqlbak/
#登录数据库用户名
user="webdb"
#访问数据库密码
password="WebDb2024!@#"
#数据库库名
DataBaseName=sqldb
#日期命名
DateTag=`date +%Y%m%d_%H%M%S`
#sql脚本名字
sqltag=$DataBaseName'_'$DateTag'.'sql
#压缩文件名字
tartag=$sqltag'.'tar'.'gz
#备份
#mysqldump -h localhost -u$user -p$password --socket=/mnt/mysql/data/mysqld.sock $DataBaseName > $BackupDir/$sqltag
mysqldump -u$user -p$password $DataBaseName --set-gtid-purged=OFF --socket=/data/mysql/data/mysqld.sock > $BackupDir/$sqltag
#进行压缩并删除原文件
cd $BackupDir
tar -czf $tartag $sqltag
rm -rf $sqltag
#定时清除文件,以访长期堆积占用磁盘空间(删除5天以前带有tar.gz文件)
find $BackupDir -mtime +30 -name '*.tar.gz' -exec rm -rf {} \;
脚本会执行mysqldump备份,并将sql文件压缩为tar.gz,清理超过30天的文件。