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