有人可以解释一下将 Mysql 数据库备份到 amazon s3 的脚本吗?脚本
答案1
我的 bash 脚本用于将 MYSQL 备份到 S3。
SERVERNAME="YOUR_SERVER_NAME"
TIME=`date +"%Y-%m-%d-%H-%M"`
FILENAME="backup-DB-$SERVERNAME-$TIME.sql.gz"
DESDIR="/var/backfile"
mysqldump -u root -pYOURPASSWORD YOURDBNAME | gzip -9 > $DESDIR/$FILENAME
/usr/bin/aws s3 cp $DESDIR/$FILENAME s3://YOURS3BucketName
/bin/rm $DESDIR/$FILENAME
将 SERVERNAME 更改为您的服务器名称;此变量仅用于创建文件名。
将 YOURPASSWORD 更改为您的 MYSQL 密码。
将 YOURDBNAME 更改为您要备份的 MYSQL 数据库名称
将 YOURS3BucketName 更改为您的 S3 存储桶名称。
使用该脚本之前,您必须安装 AWS CLI 并配置您的 AWS 凭据。
最后,将脚本放入 Cron job 中
@daily /root/dbback.sh
答案2
该脚本需要您为数据库定义 root 密码和 S3 存储的 bucket 名称。因此,请先编辑它,然后尝试执行它。
该命令跳过 information_schema、performance_schema、mysql 和 test 数据库,这些数据库通常不需要用于备份目的。
我建议您将数据库的当前设置复制到开发环境并在那里尝试该脚本。