X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=switch-mail-host;h=651c96ecc3a92d00e37cd50fc189d8a735e75db6;hb=55d37e930d1cd5b3b9800d33dc62f282050899e9;hp=08e74fc443f771edcbd625547f9eb796b9c08b70;hpb=3ca4714d6b02ff279a0c724415f3e0a3a6f49059;p=distro-setup diff --git a/switch-mail-host b/switch-mail-host index 08e74fc..651c96e 100644 --- a/switch-mail-host +++ b/switch-mail-host @@ -41,7 +41,7 @@ err-cleanup() { fi } -pre="$script_name:" +pre="${SSH_CLIENT:+$HOSTNAME} $script_name:" m() { printf "$pre %s\n" "$*"; "$@"; } e() { printf "$pre %s\n" "$*"; } err() { echo "$pre ERROR: $*" >&2; } @@ -196,7 +196,7 @@ e "On $new_host: umounting /m and /o, checking emacs" cat <<'EOF' set -eE if pgrep -G iank -u iank -f 'emacs --daemon' &>/dev/null; then - bufs="$(sudo -u iank emacsclient --eval "$(cat /a/bin/ds/unsaved-buffers.el)"| sed '/^"nil"$/d;s/^"(/E: /;s/)"$//')" + bufs="$(sudo -u iank env XDG_RUNTIME_DIR=/run/user/1000 emacsclient --eval "$(cat /a/bin/ds/unsaved-buffers.el)"| sed '/^"nil"$/d;s/^"(/E: /;s/)"$//')" if [[ $bufs ]]; then echo "error: on $HOSTNAME, unsaved emacs files: $bufs" >&2 exit 1 @@ -204,11 +204,11 @@ if pgrep -G iank -u iank -f 'emacs --daemon' &>/dev/null; then fi EOF if ! $host2_only; then - cat <<'EOF' + cat </dev/null; then - bufs="$(sudo -u iank emacsclient --eval "$(cat /a/bin/ds/unsaved-buffers.el)"| sed '/^"nil"$/d;s/^"(/E: /;s/)"$//')" + bufs="$(sudo -u iank env XDG_RUNTIME_DIR=/run/user/1000 emacsclient --eval "$(cat /a/bin/ds/unsaved-buffers.el)"| sed '/^"nil"$/d;s/^"(/E: /;s/)"$//')" if [[ $bufs ]]; then echo "error: on $HOSTNAME, unsaved emacs files: $bufs" >&2 exit 1 @@ -253,7 +253,7 @@ if ! $mail_only; then fi if $host2_only; then - if [[ $old_hostname != "$MAIL_HOST" ]]; then + if [[ $old_hostname != "$MAIL_HOST" && $old_hostname != kd ]]; then m $old_shell systemctl --now disable btrbk.timer fi m $new_shell systemctl --now enable btrbk.timer @@ -271,7 +271,7 @@ fi m $new_shell killall -q emacs ||: e Running main btrbk -m btrbk-run -v $bbk_args $incremental_arg -m /o || ret=$? +m btrbk-run -v --fast $bbk_args $incremental_arg -m /o || ret=$? if (( ret )); then 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 @@ -279,6 +279,10 @@ if (( ret )); then exit $ret fi +# new system is usable at this point +printf "$(tput setaf 5 2>/dev/null ||:)█$(tput sgr0 2>/dev/null||:)%.0s" $(eval echo "{1..${COLUMNS:-60}}") +echo + # once I accidentally accepted incoming mail on old host. I used this script to copy over that mail: # # die=false; for d in o.leaf.2021-05-29T10:02:08-0400/m/{4e,md,4e2}/{,l/}!(*myarchive)/new; do if $die; then break; fi; find $d -type f -mtime -5 | while read -r f; do dir="${f%new/*}"; dir="btrbk/o.20210530T000011-0400/${dir#*/}"; fname="${f##*/}"; [[ -e $dir/new/$fname || -e $dir/cur/$fname ]] && continue; if ! e cp -a $f /${dir#*/*/}new; then echo failed cp; die=true; break; fi ; done; done