;;&
*)
if $at_home; then
- if ! $kd_spread; then
+ if ! $kd_spread && [[ $HOSTNAME != x3 ]]; then
# main work machine
if ping -q -c1 -w1 x3.office.fsf.org &>/dev/null; then
targets+=(x3.office.fsf.org)
+ elif ping -q -c1 -w1 $h.b8.nz &>/dev/null; then
+ # in case we took it home
+ targets+=(x3.b8.nz)
else
targets+=(x3wg.b8.nz)
fi
fi
- for h in frodo kd; do
+ # temporarily disabled while doing recovery
+ # for h in frodo kd; do
+ for h in kd; do
if [[ $HOSTNAME == "$h" ]]; then
continue
fi
targets+=($h.b8.nz)
done
- for h in x2 x3 sy; do
+ for h in x2 sy; do
if [[ $HOSTNAME == "$h" ]]; then
continue
fi
if [[ $HOSTNAME == "$HOST2" ]]; then
prospective_mps+=(/a /ar /qr /q)
fi
+ if $kd_spread; then
+ prospective_mps=(/a /ar /o /qr /q)
+ fi
fi
# note: put q last just in case its specific retention options were to
# affect other config sections. I havent tested if that is the case.
done
fi
+if (( ! ${#mountpoints[@]} )); then
+ die didnt get mountpoint arg and had no defaults
+fi
+
echo "mountpoints: ${mountpoints[*]}"
##### end command line parsing ########
+# todo: this has a timing problem, since btrbk.timer could activate the service after this check.
if ! $fast && [[ $source ]]; then
if [[ $(ssh $source ps --no-headers -o comm 1) == systemd ]]; then
status=$(ssh $source systemctl is-active btrbk.service) || : # normally returns 3
if [[ $source ]]; then
m mount-latest-subvol "${subvols[@]}"
else
- m /a/exe/mount-latest-remote ${targets[@]}
+ for tg in ${targets[@]}; do
+ m /a/exe/mount-latest-remote "$tg" "${subvols[@]}" || ret=$?
+ done
fi
if [[ $ret == 0 ]]; then