Return non-zero exit code if any command in pipe fails
authorAlan J. Pippin <alan@pippins.net>
Mon, 24 Aug 2020 00:21:42 +0000 (18:21 -0600)
committerAlan J. Pippin <ajp@pippins.net>
Mon, 24 Aug 2020 00:21:42 +0000 (18:21 -0600)
Change-Id: I463e7afc7ee01a352558194eabbac67c9446b106

zfs-replicate
zfs-restore

index 02f9924ad6c8a7a2f48ded18ab10f60cf62da2df..7f205e2ea87698e02d1acb0d9ecc330b0e5ac889 100755 (executable)
@@ -18,6 +18,9 @@ remote=$1
 remote_fs=$2
 remote_pool=${2%%/*}
 
+# return non-zero exit code if any command in the pipe fails
+set -o pipefail
+
 # get the backup pool from the command line or the config file if not specified
 if [[ -n $3 ]]; then
     backup_pool=$3
@@ -264,6 +267,7 @@ fi
 # don't check the return codes here because these may not exist, and that is ok
 $zfs destroy ${backup_pool}/${previous_backup_marker} > /dev/null 2>&1
 $ssh $remote $zfs destroy ${previous_backup_marker} > /dev/null 2>&1
+sleep 1
 
 # Rename the current backup marker to be the previous backup marker
 $zfs rename ${backup_pool}/${current_backup_marker} ${backup_pool}/${previous_backup_marker}
index 4014ff74598a277f04e330f79757364ccf3fda69..d5ca2e6caeb9e079d1562e217fa3199b617f09fc 100755 (executable)
@@ -16,6 +16,9 @@ dst_pool=$3
 dst_fs=$4
 dst_hostname=$5
 
+# return non-zero exit code if any command in the pipe fails
+set -o pipefail
+
 if [[ -z "$SCRIPT_UNDER_TEST" ]]; then
     exec >> $logdir/zfs-restore.log 2>&1
 fi