xref: /freebsd/usr.sbin/periodic/etc/daily/140.clean-rwho (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
1*81ea85a8SBrad Davis#!/bin/sh
2*81ea85a8SBrad Davis#
3*81ea85a8SBrad Davis#
4*81ea85a8SBrad Davis# Remove stale files in /var/rwho
5*81ea85a8SBrad Davis#
6*81ea85a8SBrad Davis
7*81ea85a8SBrad Davis# If there is a global system configuration file, suck it in.
8*81ea85a8SBrad Davis#
9*81ea85a8SBrad Davisif [ -r /etc/defaults/periodic.conf ]
10*81ea85a8SBrad Davisthen
11*81ea85a8SBrad Davis    . /etc/defaults/periodic.conf
12*81ea85a8SBrad Davis    source_periodic_confs
13*81ea85a8SBrad Davisfi
14*81ea85a8SBrad Davis
15*81ea85a8SBrad Daviscase "$daily_clean_rwho_enable" in
16*81ea85a8SBrad Davis    [Yy][Ee][Ss])
17*81ea85a8SBrad Davis	if [ -z "$daily_clean_rwho_days" ]
18*81ea85a8SBrad Davis	then
19*81ea85a8SBrad Davis	    echo '$daily_clean_rwho_enable is enabled but' \
20*81ea85a8SBrad Davis		'$daily_clean_rwho_days is not set'
21*81ea85a8SBrad Davis	    rc=2
22*81ea85a8SBrad Davis	elif [ ! -d /var/rwho ]
23*81ea85a8SBrad Davis	then
24*81ea85a8SBrad Davis	    echo '$daily_clean_rwho_enable is enabled but /var/rwho' \
25*81ea85a8SBrad Davis		"doesn't exist"
26*81ea85a8SBrad Davis	    rc=2
27*81ea85a8SBrad Davis	else
28*81ea85a8SBrad Davis	    echo ""
29*81ea85a8SBrad Davis	    echo "Removing stale files from /var/rwho:"
30*81ea85a8SBrad Davis
31*81ea85a8SBrad Davis	    case "$daily_clean_rwho_verbose" in
32*81ea85a8SBrad Davis		[Yy][Ee][Ss])
33*81ea85a8SBrad Davis		    print=-print;;
34*81ea85a8SBrad Davis		*)
35*81ea85a8SBrad Davis		    print=;;
36*81ea85a8SBrad Davis	    esac
37*81ea85a8SBrad Davis
38*81ea85a8SBrad Davis	    if cd /var/rwho
39*81ea85a8SBrad Davis	    then
40*81ea85a8SBrad Davis		rc=$(find . ! -name . -mtime +$daily_clean_rwho_days \
41*81ea85a8SBrad Davis		    -delete $print | tee /dev/stderr | wc -l)
42*81ea85a8SBrad Davis		[ -z "$print" ] && rc=0
43*81ea85a8SBrad Davis		[ $rc -gt 1 ] && rc=1
44*81ea85a8SBrad Davis	    else
45*81ea85a8SBrad Davis		rc=3
46*81ea85a8SBrad Davis	    fi
47*81ea85a8SBrad Davis	fi;;
48*81ea85a8SBrad Davis
49*81ea85a8SBrad Davis    *)  rc=0;;
50*81ea85a8SBrad Davisesac
51*81ea85a8SBrad Davis
52*81ea85a8SBrad Davisexit $rc
53