set -eE -o pipefail
trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
-[[ $EUID == 0 ]] || exec sudo -E "$BASH_SOURCE" "$@"
+[[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@"
-x="$(readlink -f "$BASH_SOURCE")"; cd ${x%/*}
+x="$(readlink -f -- "${BASH_SOURCE[0]}")"; cd ${x%/*} # directory of this file
-# scripts that would interfere with unmounting /a, put them elsewhere
-echo install /a/bin/log-quiet/log-once switch-mail-host btrbk-run mount-latest-subvol check-subvol-stale /usr/local/bin
-install /a/bin/log-quiet/log-once switch-mail-host btrbk-run mount-latest-subvol check-subvol-stale /usr/local/bin
+# scripts that would interfere with unmounting /a, put them elsewhere.
+# note: previously used the install command, but it had this habit of
+# like, once a month or so the files would be "not found" by a script
+# trying to use them, within a few minute of the last time this
+# ran. Very strange, dunno why, but rsync won't do anything unless these
+# changed, so that should fix it.
+rsync -t --chmod=755 --chown=root:root /a/bin/log-quiet/log-once switch-mail-host btrbk-run mount-latest-subvol \
+ check-subvol-stale system-status /usr/local/bin
+rsync -t --chmod=755 --chown=root:root /a/bin/errhandle/err /usr/local/lib