X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fpostgres%2Ffiles%2Fbackup_server%2Fpostgres-make-base-backups;h=83567270817ae369b580d5b0d232ee7313d7e8a5;hb=57e5c2cd777ea92b73118a4e19416ab436983cd7;hp=ee9213fff4752aa028c93d9325d6c69580d8f317;hpb=d008b25c8f99582c1cdfa7dea2713bd0ef1a2a5d;p=mirror%2Fdsa-puppet.git diff --git a/modules/postgres/files/backup_server/postgres-make-base-backups b/modules/postgres/files/backup_server/postgres-make-base-backups index ee9213fff..835672708 100755 --- a/modules/postgres/files/backup_server/postgres-make-base-backups +++ b/modules/postgres/files/backup_server/postgres-make-base-backups @@ -39,6 +39,7 @@ if [ -t 0 ]; then verbose=1 else verbose=0 +fi if [ "$verbose" -gt 0 ]; then console="--progress --verbose" @@ -46,6 +47,18 @@ else console="" fi +if [ "${1:-}" = "-h" ] || [ "${1:-}" = "--help" ]; then + echo "Usage: $0 [:]" + exit 0 +fi + +if [ "$#" -gt 0 ]; then + forcehostport="$1" + shift +else + forcehostport="" +fi + export PGSSLMODE=verify-full export PGSSLROOTCERT=/etc/ssl/debian/certs/ca.crt @@ -54,6 +67,11 @@ date=$(date "+%Y%m%d-%H%M%S") while read host port username cluster version; do [ "${host#\#}" = "$host" ] || continue + if [ -n "$forcehostport" ] && [ "$forcehostport" != "$host:$port" ]; then + [ "$verbose" -gt 0 ] && echo "Skipping $host:$port $version/$cluster." + continue + fi + label="$date-$host-$cluster-$version-backup" [ "$verbose" -gt 0 ] && echo "Doing $host:$port $version/$cluster: $label" @@ -62,12 +80,17 @@ while read host port username cluster version; do trap "rm -f '$tmp'" EXIT /usr/lib/postgresql/"$version"/bin/pg_basebackup --format=tar --pgdata=- --label="$label" --host="$host" --port="$port" --username="$username" --no-password $console | pigz > "$tmp" + if ! [ "${PIPESTATUS[0]}" -eq 0 ]; then + echo >&2 "pg_basebackup failed with exit code ${PIPESTATUS[0]}" + exit 1 + fi mv "$tmp" "$ROOTDIR/${host%%.*}/$target" done << EOF -chopin.debian.org 5432 debian-backup dak 9.1 -bmdb1.debian.org 5435 debian-backup main 9.1 -bmdb1.debian.org 5436 debian-backup wanna-build 9.1 +chopin.debian.org 5432 debian-backup dak 9.4 +bmdb1.debian.org 5435 debian-backup main 9.4 +bmdb1.debian.org 5436 debian-backup wannabuild 9.4 danzi.debian.org 5433 debian-backup main 9.1 -franck.debian.org 5433 debian-backup dak 9.1 +franck.debian.org 5433 debian-backup dak 9.4 sibelius.debian.org 5433 debian-backup snapshot 9.1 +moszumanska.debian.org 5432 debian-backup main 9.1 EOF