X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=filesystem%2Fusr%2Flocal%2Fbin%2Fmyupgrade;h=7973d670fb707d6817a950cf1996242dbff4daf2;hb=dca8796ccf923c3d4edea468bab38e86b83510df;hp=c206f8f7888127295a9e08864d616360122d2b12;hpb=2b981100a8b45f117d6f5c165404937f3c917e8f;p=distro-setup diff --git a/filesystem/usr/local/bin/myupgrade b/filesystem/usr/local/bin/myupgrade index c206f8f..7973d67 100755 --- a/filesystem/usr/local/bin/myupgrade +++ b/filesystem/usr/local/bin/myupgrade @@ -25,12 +25,13 @@ d() { if [[ $DEBUG ]]; then pee cat "wall -n" else - echo ok | sed 's/^/myupgrade /' | pee logger "wall -n" + # 2>/dev/null hopefully gets rid of errors like: wall: /dev/pts/0: No such file or directory + sed 's/^/myupgrade /' | pee logger "wall -n" 2>/dev/null fi } myreboot() { for x in {30..1}; do - echo "pid $$. unattended upgrade, rebooting in $((x*10)) seconds" | wall -n + echo "pid $$. unattended upgrade, rebooting in $((x*10)) seconds" | wall -n 2>/dev/null sleep 10 done for x in {30..1}; do @@ -40,20 +41,28 @@ myreboot() { /sbin/reboot exit 0 fi - echo "pid $$. unattended upgrade reboot waiting 10 seconds for dpkg lock" | wall -n + echo "pid $$. unattended upgrade reboot waiting 10 seconds for dpkg lock" | wall -n 2>/dev/null sleep 10 done echo "pid $$. dpkg locked for 5 minutes, automatic reboot failed" | d } +case $HOSTNAME in + kd) + /a/bin/buildscripts/prometheus + ;; +esac + + # TODO: executed from cron, this doesnt sent an email when we reboot, # because rebooting from the script stops the ability to send email. # We should figure some workaround. if ! out=$(/sbin/needrestart -p 2>&1); then - printf "%s\n\n" "$out" - if [[ $HOSTNAME != "$MAIL_HOST" ]]; then + if [[ $HOSTNAME == "$MAIL_HOST" ]]; then + needrestart -r l + else myreboot fi fi