Fixed bug that caused empty error messages to be emailed back
authorAlan J. Pippin <alan@pippins.net>
Mon, 3 Feb 2020 21:01:29 +0000 (14:01 -0700)
committerAlan J. Pippin <ajp@pippins.net>
Mon, 3 Feb 2020 21:01:29 +0000 (14:01 -0700)
Change-Id: I28685c64435343bc48c938cb422ad06373de01f6

zfs-replicate-all

index 66949dfaa0c3a4b299dc79c0d4c14f3fa123c688..f5e23e72cc538a8990d34d99296f0c08ff916672 100755 (executable)
@@ -50,16 +50,15 @@ cleanup_and_exit() {
 }
 trap cleanup_and_exit INT
 
-fatal() {
+fatal_and_exit() {
   # echo message to terminal
   echo -e 2>&1 "$1"
   # send email notification
-  echo -e "$1" | $mailx -s "zfs-replicate-all on $hostname failed" "$mailto"
-}
-
-fatal_and_exit() {
-  fatal $*
-  exit 1
+  echo -e "$1" | $mailx -s "zfs-replicate-all on $hostname failed" "$2"
+  # exit with bad return code unless 3rd argument was defined that says not to
+  if [[ -z "$3" ]]; then
+    exit 1
+  fi
 }
 
 # This function executes the replicate command and checks the stoptime
@@ -153,7 +152,7 @@ if [[ $import_export_backup_pool == 1 ]]; then
     zpool export $backup_pool
     if [ $? != 0 ]; then
       lsof /$backup_pool/*
-      fatal "-E- unable to export the local backup pool $backup_pool on $hostname" "$mailto"
+      fatal_and_exit "-E- unable to export the local backup pool $backup_pool on $hostname" "$mailto" 0
     fi
   fi
 fi