e $old_shell sudo systemctl start btrbk.timer
fi
}
-b
+
pre="${0##*/}:"
m() { printf "$pre %s\n" "$*"; "$@"; }
e() { printf "$pre %s\n" "$*"; }
err() { echo "[$(date +'%Y-%m-%d %H:%M:%S%z')]: $pre: $*" >&2; }
+mexit() { echo "exiting with status $1"; exit $1; }
##### begin command line parsing ########
-o) mp_args="-m /o"; shift ;;
-h|--help) usage ;;
--) shift; break ;;
- *) echo "$0: Internal error! unexpected args: $*" ; exit 1 ;;
+ *) echo "$0: Internal error! unexpected args: $*" ; mexit 1 ;;
esac
done
;;
*)
err invalid first argument
- exit 1
+ mexit 1
;;
esac
source /a/bin/bash_unpublished/source-state
if [[ $old_host != "$MAIL_HOST" ]]; then
- read -r -p "warning: \$old_host != \$MAIL_HOST: $old_host != $MAIL_HOST, proceed? y/N "
- if [[ $REPLY != [yY] ]]; then
- exit 1
- fi
+ e "WARNING: \$old_host != \$MAIL_HOST. Sleeping for 5 seconds in case you want to reconsider"
+ sleep 5
fi
if [[ ! $new_host || ! $old_host ]]; then
echo "$0: bad args. see script"
- exit 1
+ mexit 1
fi
e $new_shell hostname
# ipv6 i think.
+e Running initial btrbk
if ! m btrbk-run -v $bbk_args $mp_args; then
ret=$?
err "failed initial btrbk"
- exit $ret
+ mexit $ret
fi
-
m $old_shell /a/exe/primary-setup $new_hostname
+e Running main btrbk
if ! m btrbk-run -v $bbk_args -m /o; then
ret=$?
bang="$(printf "$(tput setaf 5)█$(tput sgr0)%.0s" 1 2 3 4 5 6 7)"
e $bang failed btrbk of /o. restoring old host as primary
m $old_shell /a/exe/primary-setup localhost
- exit $ret
+ mexit $ret
fi
m $new_shell /a/exe/primary-setup localhost
+
+mexit 0