Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env bash
- server=""
- port=""
- database=""
- username="backup"
- password=""
- s3bucket="backup/mongodb-rs-1"
- mandrillkey=""
- sendTo=""
- main () {
- echo -e "Creating MongoDB dump";
- currdate=$( date +%Y-%m-%d_%H-%M )
- dumpOutput="all-databases"-$currdate
- filename=$dumpOutput".tar.gz"
- export PATH="$PATH:/usr/local/bin"
- mongodump --host $server --port $port --username $username --password $password --out $dumpOutput
- tar -zcvf $filename $dumpOutput
- # check if file exists
- if [[ ! -f $filename ]]; then
- #send_message "There was a problem with mongodb dump"
- return
- fi
- aws s3 cp $filename s3://$s3bucket/$filename
- rm $filename
- rm -rf $dumpOutput
- }
- send_message () {
- msg='{ "async": false, "key": "'$mandrillkey'", "message": { "from_email": "no-reply@onscroll.com", "from_name": "OnScroll", "headers": { "Reply-To": "dev@onscroll.com" }, "return_path_domain": null, "subject": "MongoDB backup error", "text": "'$1'", "to": [ { "email": "'$sendTo'", "type": "to" } ] } }'
- results=$(curl -A 'Mandrill-Curl/1.0' -d "$msg" 'https://mandrillapp.com/api/1.0/messages/send.json' -s 2>&1);
- echo "$results" | grep "sent" -q;
- if [ $? -ne 0 ]; then
- echo "An error occured: $results";
- exit 2;
- fi
- }
- file_size () {
- size=$(
- ${DU:-du} --apparent-size --block-size=1 "$1" 2>/dev/null ||
- ${GDU:-gdu} --apparent-size --block-size=1 "$1" 2>/dev/null ||
- ${FIND:-find} "$1" -printf "%s" 2>/dev/null ||
- ${GFIND:-gfind} "$1" -printf "%s" 2>/dev/null ||
- ${STAT:-stat} --printf="%s" "$1" 2>/dev/null ||
- ${STAT:-stat} -f%z "$file" 2>/dev/null ||
- ${WC:-wc} -c <"$1" 2>/dev/null
- )
- q=$?; [ $q -eq 0 ] || exit $q
- echo "$size" | awk '{print $1}'
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement