]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - etc/rc.d/cleanvar
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / etc / rc.d / cleanvar
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 # PROVIDE: cleanvar
7 # REQUIRE: var
8
9 . /etc/rc.subr
10
11 name="cleanvar"
12 rcvar="cleanvar_enable"
13
14 start_precmd="${name}_prestart"
15 start_cmd="${name}_start"
16 stop_cmd=":"
17
18 extra_commands="reload"
19 reload_cmd="${name}_start"
20
21 purgedir()
22 {
23         local dir file
24
25         if [ $# -eq 0 ]; then
26                 purgedir .
27         else
28                 for dir
29                 do
30                 (
31                         cd "$dir" && for file in .* *
32                         do
33                                 # Skip over logging sockets
34                                 [ -S "$file" -a "$file" = "log" ] && continue
35                                 [ -S "$file" -a "$file" = "logpriv" ] && continue
36                                 [ ."$file" = .. -o ."$file" = ... ] && continue
37                                 if [ -d "$file" -a ! -L "$file" ]
38                                 then
39                                         purgedir "$file"
40                                 else
41                                         rm -f -- "$file"
42                                 fi
43                         done
44                 )
45                 done
46         fi
47 }
48
49 cleanvar_prestart()
50 {
51         # These files must be removed only the first time this script is run
52         # on boot.
53         #
54         rm -f /var/run/clean_var /var/spool/lock/clean_var
55 }
56
57 cleanvar_start()
58 {
59         if [ -d /var/run -a ! -f /var/run/clean_var ]; then
60                 purgedir /var/run
61                 >/var/run/clean_var
62         fi
63         if [ -d /var/spool/lock -a ! -f /var/spool/lock/clean_var ]; then
64                 purgedir /var/spool/lock
65                 >/var/spool/lock/clean_var
66         fi
67         rm -rf /var/spool/uucp/.Temp/*
68 }
69
70 load_rc_config $name
71 run_rc_command "$1"