#!/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.
+
if [[ ! -e /dev/shm/iank-status ]]; then
exit 0
fi
-eval $(< /dev/shm/iank-status)
+eval "$(< /dev/shm/iank-status)"
-out=$(find /var/local/cron-errors /home/iank/cron-errors /sysd-mail-once-state -type f)
+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
if [[ $out ]]; then
echo HOSTNAME: $HOSTNAME
printf "%s\n" "$out"
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