|
#
|
|
# $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
|