src/etc/monthly

50 lines
911 B
Plaintext

#
# $OpenBSD: monthly,v 1.13 2011/01/19 06:18:05 david Exp $
#
# For local additions, create the file /etc/monthly.local.
# To get section headers, use the function next_part in monthly.local.
#
umask 022
PARTOUT=/var/log/monthly.part
MAINOUT=/var/log/monthly.out
install -o 0 -g 0 -m 600 /dev/null $PARTOUT
install -o 0 -g 0 -m 600 -b /dev/null $MAINOUT
start_part() {
TITLE=$1
exec > $PARTOUT 2>&1
}
end_part() {
exec >> $MAINOUT 2>&1
test -s $PARTOUT || return
echo ""
echo "$TITLE"
cat $PARTOUT
}
next_part() {
end_part
start_part "$1"
}
run_script() {
f=/etc/$1
test -e $f || return
if [ `stat -f '%Sp%u' $f | cut -b1,6,9,11-` != '---0' ]; then
echo "$f has insecure permissions, skipping:"
ls -l $f
return
fi
. $f
}
start_part "Running monthly.local:"
run_script "monthly.local"
end_part
rm -f $PARTOUT
[ -s $MAINOUT ] && mail -s "`hostname` monthly output" root < $MAINOUT