cleanvar revision 169924
1#!/bin/sh 2# 3# $FreeBSD: head/etc/rc.d/cleanvar 169924 2007-05-24 05:58:20Z rse $ 4# 5 6# PROVIDE: cleanvar 7# REQUIRE: FILESYSTEMS var 8 9. /etc/rc.subr 10 11name="cleanvar" 12rcvar=`set_rcvar` 13 14start_precmd="${name}_prestart" 15start_cmd="${name}_start" 16stop_cmd=":" 17 18extra_commands="reload" 19reload_cmd="${name}_start" 20 21purgedir() 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 49cleanvar_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 57cleanvar_start () 58{ 59 if [ -d /var/run -a ! -f /var/run/clean_var ]; then 60 purgedir /var/run 61 # And an initial utmp file 62 (cd /var/run && cp /dev/null utmp && chmod 644 utmp) 63 >/var/run/clean_var 64 fi 65 if [ -d /var/spool/lock -a ! -f /var/spool/lock/clean_var ]; then 66 purgedir /var/spool/lock 67 >/var/spool/lock/clean_var 68 fi 69 rm -rf /var/spool/uucp/.Temp/* 70} 71 72load_rc_config $name 73run_rc_command "$1" 74