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