#!/bin/sh set -e apt-get -y install curl cd /tmp curl -O ftp://ftp5.us.postgresql.org/pub/PostgreSQL//source/v8.2.4/postgresql-8.2.4.tar.gz cat <$MAKE_BACKUP #!/bin/sh sudo -u postgres $PGSQL_BIN/psql -c "SELECT pg_start_backup('testbackup')" >/dev/null tar -C $DB --exclude=pg_xlog -c . | gzip -c >$PGDATA_BACKUP sudo -u postgres $PGSQL_BIN/psql -Atc "SELECT pg_xlogfile_name(pg_stop_backup())" EOF chmod 755 $MAKE_BACKUP cat <$RESTORE_BACKUP #!/bin/sh mkdir -p $DB/pg_xlog/archive_status echo "restore_command = 'cp $XLOG_ARCHIVE/%f %p'" >$DB/recovery.conf chown -R postgres:postgres $DB chmod -R g=,o= $DB tar -C $DB -zxf $PGDATA_BACKUP EOF chmod 755 $RESTORE_BACKUP echo "archive_command = 'test ! -f $XLOG_ARCHIVE/%f && cp %p $XLOG_ARCHIVE/%f'" >>$DB/postgresql.conf sudo -u postgres $PGSQL_BIN/pg_ctl start -w -D $DB -l $SERVER_LOG sudo -u postgres $PGSQL_BIN/psql -c "CREATE DATABASE blah1" $MAKE_BACKUP # Create some logs to recover from: sudo -u postgres $PGSQL_BIN/psql -c "CREATE DATABASE blah2; SELECT pg_switch_xlog()" sudo -u postgres $PGSQL_BIN/psql -c "CREATE DATABASE blah3; SELECT pg_switch_xlog()" sudo -u postgres $PGSQL_BIN/psql -c "CREATE DATABASE blah4; SELECT pg_switch_xlog()" sudo -u postgres $PGSQL_BIN/psql -c "CREATE DATABASE blah5; SELECT pg_switch_xlog()" sudo -u postgres $PGSQL_BIN/psql -c "CREATE DATABASE blah6; SELECT pg_switch_xlog()" sudo -u postgres $PGSQL_BIN/pg_ctl stop -D $DB cd / rm -Rf $DB $RESTORE_BACKUP sudo -u postgres $PGSQL_BIN/pg_ctl start -w -D $DB -l $SERVER_LOG $MAKE_BACKUP tail $SERVER_LOG