X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=filesystem%2Fusr%2Flocal%2Fbin%2Fmyupgrade;h=f204796b25c3ebf50f0195f09f3f0d8305c62db4;hb=0f9a999aa601cd77343a3e08cf0c6c4f9f943813;hp=7973d670fb707d6817a950cf1996242dbff4daf2;hpb=2a1cee2e73d9291dde9af831bbe9e996199b7cbc;p=distro-setup diff --git a/filesystem/usr/local/bin/myupgrade b/filesystem/usr/local/bin/myupgrade index 7973d67..f204796 100755 --- a/filesystem/usr/local/bin/myupgrade +++ b/filesystem/usr/local/bin/myupgrade @@ -7,9 +7,8 @@ # Note: running this inside a cronjob, it wont mail any output if we end # up rebooting from this script. -if [ -z "$BASH_VERSION" ]; then echo "error: shell is not bash" >&2; exit 1; fi +set -e; . /usr/local/lib/bash-bear; set +e -source /usr/local/lib/err pre="${0##*/}:" PATH="/sbin:$PATH" m() { printf "$pre %s\n" "$*"; "$@"; } @@ -48,9 +47,16 @@ myreboot() { } -case $HOSTNAME in +case $hn in kd) - /a/bin/buildscripts/prometheus + /c/roles/prom/files/simple/usr/local/bin/fsf-install-prometheus + /c/roles/prom_export/files/simple/usr/local/bin/fsf-install-node-exporter -l 127.0.0.1 + ;; + li|bk|je) + /c/roles/prom_export/files/simple/usr/local/bin/fsf-install-node-exporter -l 127.0.0.1 + ;; + *) + /c/roles/prom_export/files/simple/usr/local/bin/fsf-install-node-exporter ;; esac @@ -59,8 +65,30 @@ esac # because rebooting from the script stops the ability to send email. # We should figure some workaround. -if ! out=$(/sbin/needrestart -p 2>&1); then - if [[ $HOSTNAME == "$MAIL_HOST" ]]; then +# I originally had the idea that for MAIL_HOST, I'd just send an email +# if something needs restarting. But atm, I have a bad habit of ignoring +# those emails. + +if ! needrestart -p -k &>/dev/null; then + myreboot +fi + +needrestart -b -l -r a |& logger -t myupgrade +sleep 1 + +# Restart based on library doesnt always work. If we still +# detect outdated libraries after trying to automatically restart, +# then do a reboot unless we are on systems we care a bit more about +# uptime, then send us an email. +# +# Note: I've noticed restart based on library has tended to screw up +# desktop related daemons because they have bugs when restarted in +# isolation instead of as part of bring up and down the whole desktop. +# But, I'd rather something gets messed up than things not get +# restarted. +if ! /sbin/needrestart -p -l &>/dev/null; then + if [[ $hn == "$MAIL_HOST" || $hn == kd ]]; then + # send us an email so we can decide what to do needrestart -r l else myreboot