Skip to content

Instantly share code, notes, and snippets.

@ebeigarts
Created May 16, 2017 12:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ebeigarts/7e5e104c40712cd4fb22f737ffd805c8 to your computer and use it in GitHub Desktop.
Save ebeigarts/7e5e104c40712cd4fb22f737ffd805c8 to your computer and use it in GitHub Desktop.
#!/bin/bash
exec >> /var/log/backup.log 2>&1
set -ex
/usr/local/avamar/etc/scripts/post.sh
echo "pre.sh"
date
mkdir -p /tmp/dump/pgsql
for DB in `su - postgres -c 'psql -t -c "select datname from pg_database" | grep -v template'`; do
DUMP=/tmp/dump/pgsql/$DB.dump
mkfifo $DUMP
su - postgres -c "pg_dump -Fc --no-acl --no-owner -w -v $DB" > $DUMP &
echo $! >> /tmp/dump.pids
done
mkdir -p /tmp/dump/mongo
MONGODB_ADMIN_PASSWORD=$(cat /root/MONGODB_ADMIN_PASSWORD)
for DB in `echo "show dbs" | mongo --quiet --ssl --sslAllowInvalidCertificates -u admin -p $MONGODB_ADMIN_PASSWORD admin | grep -v 'NETWORK' | awk '{ print $1 }'`; do
DUMP=/tmp/dump/mongo/$DB.dump
mkfifo $DUMP
mongodump --archive --ssl --sslAllowInvalidCertificates -u admin -p $MONGODB_ADMIN_PASSWORD -d $DB --authenticationDatabase admin > $DUMP &
echo $! >> /tmp/dump.pids
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment