x="$(readlink -f -- "${BASH_SOURCE[0]}")"; cd ${x%/*} # directory of this file
+m() {
+ "$@"
+}
+
+# be a bit more verbose if we are connected to a terminal
+if test -t 0; then
+ #echo debug: in terminal
+ m() {
+ echo "$*"
+ "$@"
+ }
+fi
# scripts that would interfere with unmounting /a, put them elsewhere.
# note: previously used the install command, but it had this habit of
# ran. Very strange, dunno why, but rsync won't do anything unless these
# 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 \
+rsync -tl --chmod=755 --chown=root:root \
+ switch-mail-host \
+ switch-host2 \
+ btrbk-run mount-latest-subvol \
+ check-subvol-stale myi3status \
+ mailbindwatchdog \
check-mailq \
unsaved-buffers.el \
mail-backup-clean \
iptables-exim \
ip6tables-exim \
+ exim-nn-iptables \
+ check-crypttab \
+ /a/bin/cedit/cedit \
/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
+ mailtest-check
+ 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.
+ m systemctl restart $service ||: &
+ fi
+
+}
+
+while read -r line; do
+ file="${line:12}"
+ #echo debug: file: $file
+ case $file in
+ btrfsmaint)
+ sre btrfsmaintstop
+ ;;
+ mailtest-check)
+ # we stopped removing the dashes in services recently.
+ sre $file
+ ;;
+ *)
+ sre ${file//-/}
+ ;;
+ esac
+done < <("${cmd[@]}")