host info updates
[distro-setup] / check-stale-alerts
index a6d8c822ee0f9f3db3859f7c3e4e40607b701cc1..534e8cf19dac8efd7fc60c3f97e126c64a3f8296 100755 (executable)
@@ -1,25 +1,48 @@
 #!/bin/bash
+# I, Ian Kelling, follow the GNU license recommendations at
+# https://www.gnu.org/licenses/license-recommendations.en.html. They
+# recommend that small programs, < 300 lines, be licensed under the
+# Apache License 2.0. This file contains or is part of one or more small
+# programs. If a small program grows beyond 300 lines, I plan to switch
+# its license to GPL.
+
+# Copyright 2024 Ian Kelling
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+
+#     http://www.apache.org/licenses/LICENSE-2.0
+
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
-time_arg="-ctime +4"
-case $1 in
-  now)
-    time_arg=
-    ;;
-esac
 
 if [[ ! -e /dev/shm/iank-status ]]; then
   exit 0
 fi
-eval $(< /dev/shm/iank-status)
+eval "$(< /dev/shm/iank-status)"
 
-if [[ $HOSTNAME != "$MAIL_HOST" ]]; then
-  exit 0
+dirs=()
+for d in /var/local/cron-errors /home/iank/cron-errors /sysd-mail-once-state; do
+  if [[ -e $d ]]; then
+    dirs+=($d)
+  fi
+done
+if (( ${#dirs[@]} >= 1 )); then
+  out=$(find ${dirs[@]} -type f)
 fi
-out=$(find /var/local/cron-errors /home/iank/cron-errors /sysd-mail-once-state -type f -ctime +4)
 if [[ $out ]]; then
   echo HOSTNAME: $HOSTNAME
   printf "%s\n" "$out"
 fi
+if [[ $HOSTNAME != "$MAIL_HOST" ]]; then
+  exit 0
+fi
 for h in {li,bk,je}.b8.nz; do
   out=$(ssh $h find /m/md/bounces/new /var/local/cron-errors /home/iank/cron-errors /sysd-mail-once-state -type f)
   if [[ $out ]]; then
@@ -27,3 +50,8 @@ for h in {li,bk,je}.b8.nz; do
     printf "%s\n" "$out"
   fi
 done
+
+# for .prom.$PID files, they will naturally exist when
+# scripts like system-status get killed on reboot.
+# Just clean them up here.
+find /var/lib/prometheus/node-exporter -name '*[0-9]' -type f -mtime 9 -delete