cleanvar revision 127345
1#!/bin/sh
2#
3# $FreeBSD: head/etc/rc.d/cleanvar 127345 2004-03-23 23:22:35Z brooks $
4#
5
6# PROVIDE: cleanvar
7# REQUIRE: mountcritlocal var
8# KEYWORD: FreeBSD
9
10purgedir()
11{
12	local dir file
13
14	if [ $# -eq 0 ]; then
15		purgedir .
16	else
17		for dir
18		do
19		(
20			cd "$dir" && for file in .* *
21			do
22				[ ."$file" = .. -o ."$file" = ... ] && continue
23				if [ -d "$file" -a ! -L "$file" ]
24				then
25					purgedir "$file"
26				else
27					rm -f -- "$file"
28				fi
29			done
30		)
31		done
32	fi
33}
34
35# These files must be removed only the first time this script is run
36# on boot.
37#
38[ "$1" != "reload" ] && rm -f /var/run/clean_var /var/spool/lock/clean_var
39
40if [ -d /var/run -a ! -f /var/run/clean_var ]; then
41	purgedir /var/run
42	# And an initial utmp file
43	(cd /var/run && cp /dev/null utmp && chmod 644 utmp;)
44	>/var/run/clean_var
45fi
46if [ -d /var/spool/lock -a ! -f /var/spool/lock/clean_var ]; then
47	purgedir /var/spool/lock
48	>/var/spool/lock/clean_var
49fi
50rm -rf /var/spool/uucp/.Temp/*
51
52