various fixes
[distro-setup] / install-my-scripts
index 67a576a4919c230c338892575f7ec6c2a3215111..cb5435057993d96d92ca3e11576138e727a88b39 100755 (executable)
@@ -36,11 +36,9 @@ x="$(readlink -f -- "${BASH_SOURCE[0]}")"; cd ${x%/*} # directory of this file
 # changed, so that should fix it.
 /a/bin/log-quiet/setup
 rsync -t --chmod=755 --chown=root:root switch-mail-host btrbk-run mount-latest-subvol \
-      check-subvol-stale system-status myi3status mailtest-check \
-      epanic-clean mailbindwatchdog \
-      /a/bin/log-quiet/sysd-mail-once hssh \
-      btrfsmaint \
-      dynamic-ip-update \
+      check-subvol-stale myi3status mailtest-check \
+      mailbindwatchdog \
+      /a/bin/log-quiet/sysd-mail-once \
       check-mailq \
       unsaved-buffers.el \
       mail-backup-clean \
@@ -48,3 +46,32 @@ rsync -t --chmod=755 --chown=root:root switch-mail-host btrbk-run mount-latest-s
       ip6tables-exim \
       /usr/local/bin
 rsync -t --chmod=755 --chown=root:root /a/bin/errhandle/err /usr/local/lib
+
+cmd=( rsync -aiSAX --chown=root:root --chmod=g-s
+      epanic-clean
+      system-status
+      btrfsmaint
+      dynamic-ip-update /usr/local/bin
+    )
+
+sre() {
+  service=$1
+  if [[ $(systemctl is-active $1.service ||:) != inactive ]]; then
+    # just fire and forget. sometimes a script restart can fail, but then
+    # then auto restart mechanism makes it succeed.
+    systemctl restart $service ||: &
+  fi
+
+}
+
+while read -r line; do
+  file="${line:12}"
+  case $file in
+    btrfsmaint)
+      sre btrfsmaintstop &
+      ;;
+    *)
+      sre ${file//-/} &
+      ;;
+  esac
+done < <("${cmd[@]}")