123456789101112131415161718192021222324252627282930313233 |
- #!/bin/bash -x
- PGDATA=$1
- REMOTE_HOST=$2
- REMOTE_PGDATA=$3
- PORT=5432
- PGHOME=/home/yugo-n/pgsql-9.2.1
- ARCH=$PGHOME/data/arch
- rm -rf $ARCH/*
- ssh -T postgres@$REMOTE_HOST "
- LD_LIBRARY_PATH=$PGHOME/lib:LD_LIBRARH_PATH;
- rm -rf $REMOTE_PGDATA
- $PGHOME/bin/pg_basebackup -h $HOSTNAME -U r_user -D $REMOTE_PGDATA -x -c fast
- rm $REMOTE_PGDATA/trigger"
- ssh -T postgres@$REMOTE_HOST "rm -rf $ARCH/*"
- ssh -T postgres@$REMOTE_HOST "mkdir -p $REMOTE_PGDATA/pg_xlog/archive_status"
- ssh -T postgres@$REMOTE_HOST "
- cd $REMOTE_PGDATA;
- cp postgresql.conf postgresql.conf.bak;
- sed -e 's/#*hot_standby = off/hot_standby = on/' postgresql.conf.bak > postgresql.conf;
- rm -f postgresql.conf.bak;
- cat > recovery.conf << EOT
- standby_mode = 'on'
- primary_conninfo = 'host="$HOSTNAME" port=$PORT user=r_user'
- restore_command = 'scp $HOSTNAME:$ARCH/%f %p'
- trigger_file = '$PGDATA/trigger'
- EOT
- "
|