Sha256: 8fcc3f0f687682b23c1e7c189fa9c190e75a20c2e90754979aae13e5d260d7b5

Contents?: true

Size: 1.5 KB

Versions: 12

Compression:

Stored size: 1.5 KB

Contents

#!/bin/sh
# Do base backup by rsync in streaming replication

master_dir=$1
dest_host=$2
dest_dir=$3

source /etc/pgpool-II/config_for_script

log=$PGPOOL_LOG_DIR/recovery.log

if [ $dest_host = $NODE0_HOST ]; then
  master_host=$NODE1_HOST
  master_port=$NODE1_PORT

elif [ $dest_host = $NODE1_HOST ]; then
  master_host=$NODE0_HOST
  master_port=$NODE0_PORT

else
  exit 1
fi

echo "----------------------------------------------------------------------" >> $log
date >> $log
echo "----------------------------------------------------------------------" >> $log
echo "" >> $log

# start base backup
echo "1. pg_start_backup" >> $log
$psql -p $master_port -U $PGSUPERUSER -c "SELECT pg_start_backup('Streaming Replication', true)" postgres

# rsync db cluster
echo "2. rsync: `whoami`@localhost:$master_dir -> $PGSUPERUSER@$dest_host:$dest_dir" >> $log
rsync -C -a -c --delete \
--exclude postmaster.pid --exclude postmaster.opts --exclude pg_log \
--exclude recovery.conf --exclude recovery.done --exclude pg_xlog/* \
$master_dir/ $PGSUPERUSER@$dest_host:$dest_dir/

# recovery.conf
echo "3. create recovery.conf" >> $log
cat > recovery.conf <<EOF
standby_mode             = 'on'
primary_conninfo         = 'host=$master_host port=$master_port user=$PGSUPERUSER'
recovery_target_timeline = 'latest'
EOF
scp recovery.conf $PGSUPERUSER@$dest_host:$dest_dir/
rm -f recovery.conf

# stop base backup
echo "4. pg_stop_backup" >> $log
$psql -p $master_port -U $PGSUPERUSER -c "SELECT pg_stop_backup()" postgres

echo "" >> $log
exit 0

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
prestogres-0.4.8 pgpool2/redhat/rpm_installer/basebackup-stream.sh
prestogres-0.4.7 pgpool2/redhat/rpm_installer/basebackup-stream.sh
prestogres-0.4.6 pgpool2/redhat/rpm_installer/basebackup-stream.sh
prestogres-0.4.5 pgpool2/redhat/rpm_installer/basebackup-stream.sh
prestogres-0.4.4 pgpool2/redhat/rpm_installer/basebackup-stream.sh
prestogres-0.4.3 pgpool2/redhat/rpm_installer/basebackup-stream.sh
prestogres-0.4.2 pgpool2/redhat/rpm_installer/basebackup-stream.sh
prestogres-0.4.1 pgpool2/redhat/rpm_installer/basebackup-stream.sh
prestogres-0.4.0 pgpool2/redhat/rpm_installer/basebackup-stream.sh
prestogres-0.3.0 pgpool2/redhat/rpm_installer/basebackup-stream.sh
prestogres-0.2.0 pgpool2/redhat/rpm_installer/basebackup-stream.sh
prestogres-0.1.0 pgpool2/redhat/rpm_installer/basebackup-stream.sh