#!/bin/bash STALE_DIR="${HOME}/var/stale/" get_names() { /usr/sbin/bcfg2-reports "$@" --fields=name | sed 's/ *$//' } get_stale() { get_names --stale | sed 's/ *$//' } get_all() { get_names -a | sed 's/ *$//' } get_bad() { get_names -d | sed 's/ *$//' } get_clean() { get_names -c | sed 's/ *$//' } get_count() { count=$(/usr/sbin/bcfg2-reports "$@" | wc -l) if [ "$count" = "0" ]; then echo 0 else echo $((count - 1)) fi } get_stale_once() { get_stale | while read host; do STALE_FILE="${STALE_DIR}/${host}" test -f "${STALE_FILE}" || ( touch "${STALE_FILE}" echo $host ) done comm -13 <(get_stale | sort) <(get_all | sort) | while read host; do STALE_FILE="${STALE_DIR}/${host}" test -f "${STALE_FILE}" && rm -f "${STALE_FILE}" done } cron() { stale=$(get_stale_once) if [ -n "$stale" ]; then /usr/sbin/sendmail -t <