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; }
cat <<'EOF'
set -eE
if pgrep -G iank -u iank -f 'emacs --daemon' &>/dev/null; then
- export XDG_RUNTIME_DIR=/run/user/1000
- bufs="$(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
$old_shell bash -s <<'EOF'
if pgrep -G iank -u iank -f 'emacs --daemon' &>/dev/null; then
- export XDG_RUNTIME_DIR=/run/user/1000
- bufs="$(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
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
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
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