X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=install-my-scripts;h=6d27eeea51a04e1a7dcdf188216b87d20c001768;hb=08b99aa91f2bebb589df97db84e777de9fd28c99;hp=67a576a4919c230c338892575f7ec6c2a3215111;hpb=62dede3e7ad2c0ee566145f3efabf1fd23df46a7;p=distro-setup diff --git a/install-my-scripts b/install-my-scripts index 67a576a..6d27eee 100755 --- a/install-my-scripts +++ b/install-my-scripts @@ -27,6 +27,18 @@ trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR 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 @@ -35,16 +47,54 @@ x="$(readlink -f -- "${BASH_SOURCE[0]}")"; cd ${x%/*} # directory of this file # 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[@]}")