Last active
July 21, 2016 01:40
-
-
Save miconblog/3fe68f50b69e0a6b5940b2900d0bafff to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# AWS의 S3 버킷 정책을 미리 풀어둡니다. | |
{ | |
"Version": "2012-10-17", | |
"Statement": [ | |
{ | |
"Sid": "AddPerm", | |
"Effect": "Allow", | |
"Principal": "*", | |
"Action": "s3:GetObject", | |
"Resource": "arn:aws:s3:::rlibro/UPLOAD_PATH/*" | |
} | |
] | |
} | |
# AWS 서버에 'rlibro'라는 DB가 있다는 전제로 실행됩니다. | |
# 스크립트가 실행되면 설정해둔 S3 UPLOAD_PATH 폴더에 DB를 백업해서 저장합니다. | |
# UPLOAD_PATH에 대한 접근 권한을 미리 풀어주셔야합니다. | |
# SSH로 AWS 서버에 접근후 스크립트를 실행합니다. | |
# $aws> sh backup.sh | |
echo --------- START ---------- | |
cd ~ | |
rm -rf rlibro* | |
mongodump -d rlibro -o ./ | |
tar -zcvf rlibro.tar.gz rlibro/ | |
aws s3 mv rlibro.tar.gz s3://UPLOAD_PATH/ | |
echo ---------- END ---------- | |
exit 0 | |
# 로컬 DB에 S3에 백업해둔 디비를 다운받아 싱크합니다. | |
# 로컬에서 실행합니다. | |
# $local> sh restore.sh | |
echo --------- START ---------- | |
curl -o rlibro.tar.gz 'https://s3-ap-northeast-1.amazonaws.com/UPLOAD_PATH/rlibro.tar.gz' | |
tar -xvf rlibro.tar.gz | |
rm rlibro.tar.gz | |
mongo rlibro --eval "db.dropDatabase()" | |
mongorestore -h 127.0.0.1:27017 -d rlibro ./rlibro/ | |
rm -rf rlibro | |
echo --------- END ---------- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment