}
trap cleanup_and_exit INT
+fatal_and_exit() {
+ # echo message to terminal
+ echo -e 2>&1 "$1"
+ # send email notification
+ echo -e "$1" | $mailx -s "zfs scrub on $hostname failed" "$mailto"
+ exit 1
+}
+
# This function executes the replicate command and checks the stoptime
replicate() {
zfs-replicate $* >> $logfile 2>&1
if [[ $import_export_backup_pool == 1 ]]; then
zpool import $backup_pool
if [ $? != 0 ]; then
- echo "-E- unable to import the backup pool $backup_pool"
- exit 1
+ fatal_and_exit "-E- unable to import the backup pool $backup_pool" "$mailto"
fi
else
- echo "-E- The local backup pool, '$backup_pool' doesn't seem to exist." $mailto
- exit 1
+ fatal_and_exit "-E- The local backup pool, '$backup_pool' doesn't seem to exist." "$mailto"
fi
fi
backup_pool_guid=`zpool get guid $backup_pool 2>&1 | grep $backup_pool | awk '{ print $3 }'`
zpool get guid $backup_pool > /dev/null 2>&1
if [ $? != 0 ]; then
- echo >&2 "-E- Unable to extract the guid for the local backup pool: $backup_pool"
- exit 1
+ fatal_and_exit "-E- Unable to extract the guid for the local backup pool: $backup_pool" "$mailto"
fi
# Setup our backup marker names
if [[ $import_export_backup_pool == 1 ]]; then
zpool export $backup_pool
if [ $? != 0 ]; then
- fatal_and_exit "-E- unable to export the local backup pool $backup_pool"
+ fatal_and_exit "-E- unable to export the local backup pool $backup_pool" "$mailto"
fi
fi