fi
if [ -t 0 ]; then
+ verbose=1
+else
+ verbose=0
+fi
+
+if [ "$verbose" -gt 0 ]; then
console="--progress --verbose"
else
console=""
fi
+if [ "${1:-}" = "-h" ] || [ "${1:-}" = "--help" ]; then
+ echo "Usage: $0 [<host>:<port>]"
+ 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
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"
- [ -t 0 ] && echo "Doing $host:$port $version/$cluster: $label"
+ [ "$verbose" -gt 0 ] && echo "Doing $host:$port $version/$cluster: $label"
target="$cluster.BASE.$label.tar.gz"
tmp=$(tempfile -d "$ROOTDIR" -p "BASE-$host:$port-" -s ".tar.gz")
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
-danzi.debian.org 5433 debian-backup main 9.1
-franck.debian.org 5433 debian-backup dak 9.1
-sibelius.debian.org 5433 debian-backup snapshot 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.4
+franck.debian.org 5433 debian-backup dak 9.4
+sibelius.debian.org 5433 debian-backup snapshot 9.4
+moszumanska.debian.org 5432 debian-backup main 9.1
EOF