harmonize vpn, lan, and transmission ips
[distro-setup] / switch-mail-host
index ffb0814b6776e65d0d64366e9c49dd7a5b32e577..180b963c6b2f1da82955406864d74f217ebf9292 100644 (file)
@@ -37,11 +37,11 @@ restore_old_btrbk=false
 err-cleanup() {
   if $restore_new_btrbk; then
     e WARNING: due to failure, btrbk.timer may need manual restoration:
-    e $new_shell systemctl start btrbk.timer
+    e $new_shell systemctl start btrbk.timer btrbk-spread.timer  || (( $? == 5 ))
   fi
   if $restore_old_btrbk; then
     e WARNING: due to failure, btrbk.timer may need manual restoration:
-    e $old_shell systemctl start btrbk.timer
+    e $old_shell systemctl start btrbk.timer btrbk-spread.timer  || (( $? == 5 ))
   fi
 }
 
@@ -146,15 +146,16 @@ elif $host2_only; then
   mp_args="-m /a,/ar,/q,/qr"
 fi
 
-
-if $host2_only; then
-  if [[ $old_hostname != "$HOST2" ]]; then
-    err "\$old_hostname($old_hostname) != \$HOST2($HOST2). Rerun with --force if you really want this."
+if ! $force; then
+  if $host2_only; then
+    if [[ $old_hostname != "$HOST2" ]]; then
+      err "\$old_hostname($old_hostname) != \$HOST2($HOST2). Rerun with --force if you really want this."
+      exit 1
+    fi
+  elif [[ $old_hostname != "$MAIL_HOST" ]]; then
+    err "\$old_hostname($old_hostname) != \$MAIL_HOST($MAIL_HOST). Rerun with --force if you really want this."
     exit 1
   fi
-elif [[ $old_hostname != "$MAIL_HOST" ]] && ! $force; then
-  err "\$old_hostname($old_hostname) != \$MAIL_HOST($MAIL_HOST). Rerun with --force if you really want this."
-  exit 1
 fi
 
 if [[ ! $new_host || ! $old_host ]]; then
@@ -166,11 +167,11 @@ fi
 ########### end initial processing, begin actually modifying things ##########
 
 if $new_shell systemctl is-active btrbk.timer; then
-  m $new_shell systemctl stop btrbk.timer
+  m $new_shell systemctl stop btrbk.timer btrbk-spread.timer || (( $? == 5 ))
   restore_new_btrbk=true
 fi
 if $old_shell systemctl is-active btrbk.timer; then
-  m $old_shell systemctl stop btrbk.timer
+  m $old_shell systemctl stop btrbk.timer btrbk-spread.timer || (( $? == 5 ))
   restore_old_btrbk=true
 fi
 
@@ -259,9 +260,10 @@ fi
 
 if $host2_only; then
   if [[ $old_hostname != "$MAIL_HOST" && $old_hostname != kd ]]; then
-    m $old_shell systemctl --now disable btrbk.timer
+    # most systems dont have btrbk-spread, systemctl exits 5 on unknown unit
+    m $old_shell systemctl --now disable btrbk.timer btrbk-spread.timer || (( $? == 5 ))
   fi
-  m $new_shell systemctl --now enable btrbk.timer
+  m $new_shell systemctl --now enable btrbk.timer btrbk-spread.timer  || (( $? == 5 ))
   exit 0
 fi