opnsense-ports/databases/pgpool-II/files/pgpool_copy_backup
Franco Fichtner 8cb1a96ede ports: pull in a snapshot of the FreeBSD ports tree
Taken from:	https://github.com/freebsd/freebsd-ports.git
Commit id:	5070672073b68be364139bc6b3a89100bd17d331
2014-11-09 14:03:21 +01:00

40 lines
871 B
Bash

#!/bin/sh
#
# $FreeBSD$
#
# In postgresql.conf:
# archive_command = 'test -f /proj/pgsql/data/archive_log/%f || cp %p /proj/pgsql/data/archive_log/%f'
#
SRC=pgsql@$(hostname)
SRCDIR=$1
DEST=pgsql@$2
DESTDIR=$3
ARCLOG=$1/archive_log
logger="logger -t pgpool -p local0.info"
rsync="/usr/local/bin/rsync -av --delete --checksum"
excl="--exclude=pg_log --exclude=postmaster.pid"
psql="/usr/local/bin/psql"
/bin/sh <<EOF | ${logger} 2>&1
$psql -c "select pg_start_backup('pgpool-recovery')" template1
ssh $DEST "
/usr/local/bin/pg_ctl -D $DESTDIR -s -m fast stop;
rm -f $DESTDIR/backup_label"
echo "restore_command = 'scp $SRC:$ARCLOG/%f %p'" > $SRCDIR/recovery.conf
$rsync $SRCDIR/ $excl $DEST:/$DESTDIR/
ssh $DEST "
mkdir -p $DESTDIR/pg_xlog/archive_status;
mkdir -p $DESTDIR/pg_log"
rm -f $SRCDIR/recovery.conf
$psql -c 'select pg_stop_backup()' template1
EOF