# See the License for the specific language governing permissions and
# limitations under the License.
-
-# Running these files directly won't be good since we are
-# unmounting the volume they live on.
-# This never really get's run, since we normally only
-# seed these files to other hosts using btrbk-run.
+# usage: run with no arguments.
+# Scripts that would interfere with unmounting /a, install them elsewhere.
set -eE -o pipefail
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
# like, once a month or so the files would be "not found" by a script
# trying to use them, within a few minute of the last time this
# 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 \
- check-mailq \
- unsaved-buffers.el \
- mail-backup-clean \
- /usr/local/bin
-rsync -t --chmod=755 --chown=root:root /a/bin/errhandle/err /usr/local/lib
+
+
+rs() {
+ # some files are intentionally not executable in git
+ rsync -aSAX --chmod=755 --chown=root:root "$@"
+}
+
+source /a/bin/ds/script-files
+
+rs ${my_bin_files[@]} /usr/local/bin
+rs $my_lib_files /usr/local/lib
+
+
+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
+
+}
+
+tmpf=$(mktemp)
+# SAX are acls and things, dont use but whatever
+rs -i ${my_service_scripts[@]} /usr/local/bin >$tmpf
+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 <$tmpf
+rm $tmpf