cleanvar revision 148837
1#!/bin/sh 2# 3# $FreeBSD: head/etc/rc.d/cleanvar 148837 2005-08-07 23:10:32Z pjd $ 4# 5 6# PROVIDE: cleanvar 7# REQUIRE: mountcritlocal var 8 9purgedir() 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 39if [ -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 44fi 45if [ -d /var/spool/lock -a ! -f /var/spool/lock/clean_var ]; then 46 purgedir /var/spool/lock 47 >/var/spool/lock/clean_var 48fi 49rm -rf /var/spool/uucp/.Temp/* 50 51