diff --git a/bash/备份mysql数据库-docker/sql-backup-docker.sh b/bash/备份mysql数据库-docker/sql-backup-docker.sh new file mode 100644 index 0000000..5e0b526 --- /dev/null +++ b/bash/备份mysql数据库-docker/sql-backup-docker.sh @@ -0,0 +1,27 @@ +#------数据库文件备份脚本start +#获取系统当前时间 +time=$(date "+%Y-%m-%d_%H:%M:%S") +#备份配置(根据需求设置) +storagepath="" #存储路径 +zipfilename="数据库备份_"$time".zip" #压缩包命名 +sqlname="数据库备份_"$time".sql" #sql语句命名 +user="" #数据库账号 +password="" #数据库密码 +zippassword="" #压缩密码 +deleteBakDay=30 #删除多少天(+前/-后)的数据 +#备份sql压缩包存储路径 +path=${storagepath}/${zipfilename} +#备份sql存储路径 +sqlpath=${storagepath}/${sqlname} +#docker请用下面的命令 +docker exec mysql mysqldump -u${user} -p${password} --databases 备份数据库1 备份数据库2 > $sqlpath +#压缩加密指定sql到指定文件目录下 +/usr/bin/zip -P ${zippassword} -j $path $sqlpath >/dev/null 2>&1 +#发送邮件(尚未找到合适的方法) + +#sleep 5s +# 查找并删除N天之前的备份文件 +find $storagepath -name "数据库备份_*.zip" -type f -mtime +${deleteBakDay} -exec rm -rf {} \; > /dev/null 2>&1 +# 删除sql +rm -rf $sqlpath +#------数据库文件备份脚本end \ No newline at end of file