cleanvar revision 180563
150120Swpaul#!/bin/sh 250120Swpaul# 350120Swpaul# $FreeBSD: head/etc/rc.d/cleanvar 180563 2008-07-16 19:22:48Z dougb $ 450120Swpaul# 550120Swpaul 650120Swpaul# PROVIDE: cleanvar 750120Swpaul# REQUIRE: FILESYSTEMS var 850120Swpaul 950120Swpaul. /etc/rc.subr 1050120Swpaul 1150120Swpaulname="cleanvar" 1250120Swpaulrcvar=`set_rcvar` 1350120Swpaul 1450120Swpaulstart_precmd="${name}_prestart" 1550120Swpaulstart_cmd="${name}_start" 1650120Swpaulstop_cmd=":" 1750120Swpaul 1850120Swpaulextra_commands="reload" 1950120Swpaulreload_cmd="${name}_start" 2050120Swpaul 2150120Swpaulpurgedir() 2250120Swpaul{ 2350120Swpaul local dir file 2450120Swpaul 2550120Swpaul if [ $# -eq 0 ]; then 2650120Swpaul purgedir . 2750120Swpaul else 2850120Swpaul for dir 2950120Swpaul do 3050120Swpaul ( 3150120Swpaul cd "$dir" && for file in .* * 3250120Swpaul do 33119418Sobrien # Skip over logging sockets 34119418Sobrien [ -S "$file" -a "$file" = "log" ] && continue 35119418Sobrien [ -S "$file" -a "$file" = "logpriv" ] && continue 3650120Swpaul [ ."$file" = .. -o ."$file" = ... ] && continue 3750120Swpaul if [ -d "$file" -a ! -L "$file" ] 3850120Swpaul then 3950120Swpaul purgedir "$file" 4050120Swpaul else 4150120Swpaul rm -f -- "$file" 4250120Swpaul fi 4350120Swpaul done 4450120Swpaul ) 4550120Swpaul done 4650120Swpaul fi 47221407Smarius} 4850120Swpaul 4950120Swpaulcleanvar_prestart() 5050120Swpaul{ 51128871Sandre # These files must be removed only the first time this script is run 5250120Swpaul # on boot. 5350120Swpaul # 5450120Swpaul rm -f /var/run/clean_var /var/spool/lock/clean_var 5550120Swpaul} 5659757Speter 5759757Spetercleanvar_start () 5850120Swpaul{ 5950120Swpaul if [ -d /var/run -a ! -f /var/run/clean_var ]; then 60166112Smarius purgedir /var/run 61213878Smarius # And an initial utmp file 62213878Smarius (cd /var/run && cp /dev/null utmp && chmod 644 utmp) 63141960Simp >/var/run/clean_var 64141960Simp fi 65141960Simp if [ -d /var/spool/lock -a ! -f /var/spool/lock/clean_var ]; then 66141960Simp purgedir /var/spool/lock 67105135Salfred >/var/spool/lock/clean_var 68105135Salfred fi 69105135Salfred rm -rf /var/spool/uucp/.Temp/* 70105135Salfred} 71105135Salfred 72221407Smariusload_rc_config $name 7350120Swpaulrun_rc_command "$1" 7450120Swpaul