xref: /openbsd-src/etc/monthly (revision e893094853207c89b2172e454345921389c3c4b9)
103446679Sschwarze#
2*e8930948Sdavid#	$OpenBSD: monthly,v 1.13 2011/01/19 06:18:05 david Exp $
358a1e7f8Sschwarze#
458a1e7f8Sschwarze# For local additions, create the file /etc/monthly.local.
558a1e7f8Sschwarze# To get section headers, use the function next_part in monthly.local.
603446679Sschwarze#
7c581b3e4Sschwarzeumask 022
8c581b3e4Sschwarze
903446679SschwarzePARTOUT=/var/log/monthly.part
1003446679SschwarzeMAINOUT=/var/log/monthly.out
1103446679Sschwarzeinstall -o 0 -g 0 -m 600    /dev/null $PARTOUT
1203446679Sschwarzeinstall -o 0 -g 0 -m 600 -b /dev/null $MAINOUT
1303446679Sschwarze
1403446679Sschwarzestart_part() {
1503446679Sschwarze	TITLE=$1
1603446679Sschwarze	exec > $PARTOUT 2>&1
1703446679Sschwarze}
1803446679Sschwarze
1903446679Sschwarzeend_part() {
2003446679Sschwarze	exec >> $MAINOUT 2>&1
2103446679Sschwarze	test -s $PARTOUT || return
22c581b3e4Sschwarze	echo ""
2303446679Sschwarze	echo "$TITLE"
2403446679Sschwarze	cat $PARTOUT
2503446679Sschwarze}
2603446679Sschwarze
2703446679Sschwarzenext_part() {
2803446679Sschwarze	end_part
2903446679Sschwarze	start_part "$1"
3003446679Sschwarze}
3103446679Sschwarze
3203446679Sschwarzerun_script() {
3303446679Sschwarze	f=/etc/$1
3403446679Sschwarze	test -e $f || return
3503446679Sschwarze	if [ `stat -f '%Sp%u' $f | cut -b1,6,9,11-` != '---0' ]; then
3603446679Sschwarze		echo "$f has insecure permissions, skipping:"
3703446679Sschwarze		ls -l $f
3803446679Sschwarze		return
39c581b3e4Sschwarze	fi
4003446679Sschwarze	. $f
4103446679Sschwarze}
4203446679Sschwarze
4304bf5079Sschwarzestart_part "Running monthly.local:"
4403446679Sschwarzerun_script "monthly.local"
4503446679Sschwarze
4603446679Sschwarzeend_part
4703446679Sschwarzerm -f $PARTOUT
4803446679Sschwarze
4903446679Sschwarze[ -s $MAINOUT ] && mail -s "`hostname` monthly output" root < $MAINOUT
50