tune cronjobs
[distro-setup] / filesystem / usr / local / bin / myupgrade
index 3577864d76363fbbb71ba0fd1f81850a286b217e..c206f8f7888127295a9e08864d616360122d2b12 100755 (executable)
@@ -2,6 +2,8 @@
 # Copyright (C) 2019 Ian Kelling
 # SPDX-License-Identifier: AGPL-3.0-or-later
 
+# usage: set DEBUG env var to anything to output to stdout
+
 # Note: running this inside a cronjob, it wont mail any output if we end
 # up rebooting from this script.
 
@@ -19,6 +21,13 @@ err() { echo "[$(date +'%Y-%m-%d %H:%M:%S%z')]: $pre: $*" >&2; }
 hn=$(hostname -f)
 source /a/bin/bash_unpublished/source-state
 
+d() {
+  if [[ $DEBUG ]]; then
+    pee cat "wall -n"
+  else
+    echo ok | sed 's/^/myupgrade /' | pee logger "wall -n"
+  fi
+}
 myreboot() {
   for x in {30..1}; do
     echo "pid $$. unattended upgrade, rebooting in $((x*10)) seconds" | wall -n
@@ -26,7 +35,7 @@ myreboot() {
   done
   for x in {30..1}; do
     if ! fuser /var/lib/dpkg/lock &> /dev/null; then
-      echo "pid $$. unattended upgrade, rebooting now" | pee cat "wall -n"
+      echo "pid $$. unattended upgrade, rebooting now" | d
       /a/bin/ds/keyscript-on
       /sbin/reboot
       exit 0
@@ -34,7 +43,7 @@ myreboot() {
     echo "pid $$. unattended upgrade reboot waiting 10 seconds for dpkg lock" | wall -n
     sleep 10
   done
-  echo "pid $$. dpkg locked for 5 minutes, automatic reboot failed" | pee cat "wall -n"
+  echo "pid $$. dpkg locked for 5 minutes, automatic reboot failed" | d
 }