关于该问题的概述。
一个rds集群设置有两个rds示例(rdslab0和rdslab1),其中rdslab0用作rdslab1的读取副本。
除了rds备份之外,还使用mysqldump语句通过root的crontab(crontab-l)从ec2示例执行选择性数据库转储。
每夜运行这些备份的shell脚本存储在/root/db-backup.sh中db'是这个mysql rds示例上的数据库。
该脚本包含几个mysqldump语句,运行时将mysql.sql.gz备份转储文件保存到s3 bucket“backups”中。
脚本运行良好,直到一周前,但随后开始保存空文件,因为几天。到目前为止,在s3、db schema backups、db database backups文件夹中保存了相应的mysqldump.sql.gz文件,但这些文件不包含任何真正的备份内容。
我不确定这是否是mysqldump语句、iam权限或db权限或其他问题,但文件被保存为空。例如,备份文件是以字节为单位保存的,而不是以kbs和mbs为单位的实际大小。
数据库备份.sh
# !/bin/bash
# Dump the db database from the RDS readreplica and move it to S3.
# Dump the db database from the RDS readreplica and move it to S3.
# S3 Bucket has policy access to only allow db-backup IAM User PutObject
# mysqlbackup is used to backup files
bucketName="backups"
today=$(date +%d)
endPoint2="database-endpoint"
# All databases, routines, procedures, etc
mysqldump db --routines --triggers | gzip > /root/db-$(date +%Y%m%d).sql.gz
aws --profile db-backup s3 cp /root/db-$(date +%Y%m%d).sql.gz s3://dbaccount-backups/db-database-backups/
aws --profile db-backup s3api put-object-tagging --bucket $bucketName --key db-database-backups/db-$(date +%Y%m%d).sql.gz --tagging 'TagSet=[{Key=retention,Value=60}]'
rm /root/db-$(date +%Y%m%d).sql.gz
# Schema backups
mysqldump db --no-data | gzip > /root/db-schema-$(date +%Y%m%d).sql.gz
aws --profile db-backup s3 mv /root/db-schema-$(date +%Y%m%d).sql.gz s3://dbaccount-backups/db-schema-backups/
aws --profile db-backup s3api put-object-tagging --bucket $bucketName --key db-schema-backups/db-schema-$(date +%Y%m%d).sql.gz --tagging 'TagSet=[{Key=retention,Value=14}]'
暂无答案!
目前还没有任何答案,快来回答吧!