#!/bin/bash export BUP_DIR=$HOME/bups/postgres-backup now=`date -u +%Y-%m-%dT%H:%M:%S.000Z` db="$1" if [[ -z $db ]] then echo "usage: $0 " exit 1 fi dir="$HOME/backups/${db}" name="pg_${db}_${now}.backup" path="$dir/$name" mkdir -p "$dir" echo "Dumping $db to $path" time pg_dump -h localhost -U fiken-prod -b -Fc $db > $path rm -rf "$dir/latest" ln -s "$name" "$dir/latest" echo "Updating backups" ( cd "$dir" bup index -u . bup save -n postgres-backup . ) echo "Dump complete" echo "File size:" `ls -sh $path|cut -f 1 -d " "` echo "" echo "To restore to a db:" echo "psql -1 -h localhost -U fiken-dev -d fiken-dev -c 'drop schema public CASCADE; create schema public'" echo "vacuumlo -U fiken-dev -h localhost -v -l 10000 fiken-dev" echo "pg_restore -O -U fiken-dev -h localhost -d fiken-dev" $name