Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- ####################################
- #
- # Backup MongoDB to S3
- #
- ####################################
- #PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- MONGODB_SHELL='/usr/bin/mongo'
- DUMP_UTILITY='/usr/bin/mongodump'
- DB_NAME='prolinkd'
- echo '########################################################################'
- echo "###### backing up DB $DB_NAME"
- echo '########################################################################'
- date_now=`date +%Y_%m_%d_%H_%M`
- #date_now=`date +%Y-%b-%d_%T`
- dir_name="/root/BU/db_backup"
- tar_name="db_backup_${date_now}.tar.gz"
- file_name="${dir_name}/${tar_name}"
- if [ -z "$dir_name" ]; then
- mkdir $dir_name
- fi
- log() {
- echo $1 >> /tmp/mybackup.log
- }
- do_cleanup(){
- # rm -rf db_backup*
- log 'cleaning up....'
- }
- do_backup(){
- log 'snapshotting the db and creating archive' && \
- echo "tar -jcf ${tar_name} dump" >> /tmp/mybackup.log && \
- /usr/bin/mongodump -o ${dir_name} && /bin/tar -jcf ${tar_name} ${dir_name} && \
- log 'data backd up and created snapshot'
- }
- save_in_s3(){
- log 'saving the backup archive in amazon S3' && \
- /usr/bin/s3cmd put --acl-private ${file_name} s3://prolinkd/db-backups/${tar_name}
- log 'data backup saved in amazon s3'
- }
- do_backup && save_in_s3 && do_cleanup
Add Comment
Please, Sign In to add comment