2 # Copyright (C) 2016 Ian Kelling
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
17 # Running these files directly won't be good since we are
18 # unmounting the volume they live on.
19 # This never really get's run, since we normally only
20 # seed these files to other hosts using btrbk-run.
24 trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
26 [[ $EUID == 0 ]] ||
exec sudo
-E "${BASH_SOURCE[0]}" "$@"
28 x
="$(readlink -f -- "${BASH_SOURCE[0]}")"; cd ${x%/*} # directory of this file
34 # be a bit more verbose if we are connected to a terminal
36 #echo debug: in terminal
43 # scripts that would interfere with unmounting /a, put them elsewhere.
44 # note: previously used the install command, but it had this habit of
45 # like, once a month or so the files would be "not found" by a script
46 # trying to use them, within a few minute of the last time this
47 # ran. Very strange, dunno why, but rsync won't do anything unless these
48 # changed, so that should fix it.
49 /a
/bin
/log-quiet
/setup
50 rsync
-tl --chmod=755 --chown=root
:root \
53 btrbk-run mount-latest-subvol \
54 check-subvol-stale myi3status \
65 rsync
-t --chmod=755 --chown=root
:root
/a
/bin
/errhandle
/err
/usr
/local
/lib
67 cmd
=( rsync
-aiSAX --chown=root
:root
--chmod=g-s
72 dynamic-ip-update
/usr
/local
/bin
77 if [[ $
(systemctl is-active
$1.service ||
:) != inactive
]]; then
78 # just fire and forget. sometimes a script restart can fail, but then
79 # then auto restart mechanism makes it succeed.
80 m systemctl restart
$service ||
: &
85 while read -r line
; do
87 #echo debug: file: $file
93 # we stopped removing the dashes in services recently.
100 done < <("${cmd[@]}")