#!/bin/bash make_master_backup() { rm -f $work_dir/omnipitr/tmp/omnipitr-helper-dst-pipe.out $omnipitr_dir/bin/omnipitr-backup-master -dg MD5,SHA-1 -p 54001 -t $work_dir/omnipitr/tmp/backup-master/ -D $work_dir/data-master/ -x $work_dir/omnipitr/backup-archive/ -dp gzip=$test_dir/test-lib/helper-dst-pipe.sh -dl gzip=$work_dir/omnipitr/backup/ -f "master-__FILETYPE__.tar__CEXT__" -l $work_dir/omnipitr/log -v if [[ ! -e $work_dir/omnipitr/backup/master-data.tar.gz ]] then echo "$work_dir/omnipitr/backup/master-data.tar.gz does not exist?!" >&2 exit 1 fi if [[ ! -e $work_dir/omnipitr/backup/master-xlog.tar.gz ]] then echo "$work_dir/omnipitr/backup/master-xlog.tar.gz does not exist?!" >&2 exit 1 fi data_size="$( du -k $work_dir/omnipitr/backup/master-data.tar.gz | awk '{print $1}')" xlog_size="$( du -k $work_dir/omnipitr/backup/master-xlog.tar.gz | awk '{print $1}')" if (( $data_size < 1024 )) then echo "$work_dir/omnipitr/backup/master-data.tar.gz exists but looks too small to be sensible!" >&2 exit 1 fi if (( $xlog_size < 8 )) then echo "$work_dir/omnipitr/backup/master-xlog.tar.gz exists but looks too small to be sensible!" >&2 exit 1 fi different_md5s="$( cat $work_dir/omnipitr/tmp/omnipitr-helper-dst-pipe.out $work_dir/omnipitr/backup/master-MD5.tar.gz | awk '$2~/data|xlog/' | tr '*' ' ' | sort | uniq | wc -l )" if (( $different_md5s != 2 )) then echo "MD5s are not the same in checksum file, and in file generated by dst-pipe?!" >&2 exit 1 fi # Rotate xlog to make sure there is something in replication archive. echo "create table xxx_tmp as select generate_series(1,10) as i; checkpoint; select pg_switch_xlog(); drop table xxx_tmp; checkpoint; " | psql -p 54001 &> /dev/null }