また触った時に忘れないための備忘録
- 頻度:1日1回(毎朝10時)
- 格納先:s3://hogehoge-dev/rds_backup/rds_hogehoge_db_yyyymmdd_hhmmss.sql.gz
- S3のライフサイクル:14日前
- 対象プレフィックス:rds_backup/
バックアップ用スクリプト
#!/bin/bash -l
HOGEHOGE_DB="hogehoge_db"
HOGEHOGE_DB_USER=""
HOGEHOGE_DB_PASS=""
HOGEHOGE_DB_HOST="hogehoge.ap-northeast-1.rds.amazonaws.com"
DUMP_FILE_NAME="rds_hogehoge_db_`date +%Y%m%d_%H%M%S`.sql.gz"
AWS_PROFILE_NAME="hogehoge-develop" # 事前にprofileを同名で作成しておくこと
S3_DIR="s3://hogehoge-dev/rds_backup/"
mysqldump -u ${HOGEHOGE_DB_USER} -p${HOGEHOGE_DB_PASS} -h ${HOGEHOGE_DB_HOST} ${HOGEHOGE_DB} | gzip > /tmp/${DUMP_FILE_NAME}
/usr/bin/aws s3 cp /tmp/${DUMP_FILE_NAME} ${S3_DIR} --profile ${AWS_PROFILE_NAME}
rm /tmp/${DUMP_FILE_NAME}
定期実行の設定
$ crontab -e
no crontab for ec2-user - using an empty one
crontab: installing new crontab
$ crontab -l
00 10 * * * /home/ec2-user/bin/save_rds_backup_to_s3 > /dev/null 2> /tmp/save_rds_backup_to_s3_error