#!/bin/bash
# 备份目录
backup_dir="/var/backups/mysql"
# MySQL登录信息
mysql_host="***********"
mysql_user="************"
mysql_pwd="*****************"
PORT=3306
# 备份文件名
backup_file="db_backup_$(date +%Y%m%d_%H%M%S).sql"
# 备份命令
/usr/bin/mysqldump --single-transaction --host=$mysql_host --port=$PORT --user=$mysql_user --password=$mysql_pwd --databases (需要备份的数据库) > $backup_dir/$backup_file
# 压缩备份文件
gzip $backup_dir/$backup_file
#利用opensssl 进行加密
#openssl enc -aes-256-cbc -salt -in backup.sql -out backup.sql.enc -pass pass:YourPassword
openssl enc -aes-256-cbc -salt -in ${backup_dir}/${backup_file}.gz -out ${backup_dir}/${backup_file}.gz.enc -pass pass:(自定义)
#解密
#openssl enc -aes-256-cbc -d -in backup.sql.enc -out backup.sql -pass pass:YourPassword
# 删除7天前的备份文件
find $backup_dir -type f -name "*.gz.enc" -mtime +7 -delete
#删除压缩后的gz文件
find $backup_dir -type f -name ${backup_file}.gz -delete
# 上传到azure prod 存储账户中
az storage blob upload --account-name mspprodstorage --container-name database --name ${backup_file}.gz.enc --file ${backup_dir}/${backup_file}.gz.enc --sas-token=(blob中获取)
mysql 数据库备份
最新推荐文章于 2024-07-14 19:46:27 发布