cleanvar revision 148849
198184Sgordon#!/bin/sh 298184Sgordon# 398184Sgordon# $FreeBSD: head/etc/rc.d/cleanvar 148849 2005-08-08 09:46:09Z pjd $ 498184Sgordon# 598184Sgordon 698184Sgordon# PROVIDE: cleanvar 7127345Sbrooks# REQUIRE: mountcritlocal var 898184Sgordon 998184Sgordonpurgedir() 1098184Sgordon{ 11104980Sschweikh local dir file 1298184Sgordon 1398184Sgordon if [ $# -eq 0 ]; then 1498184Sgordon purgedir . 1598184Sgordon else 1698184Sgordon for dir 1798184Sgordon do 1898184Sgordon ( 1998184Sgordon cd "$dir" && for file in .* * 2098184Sgordon do 21148849Spjd # Skip over logging sockets 22148849Spjd [ -S "$file" -a "$file" = "log" ] && continue 23148849Spjd [ -S "$file" -a "$file" = "logpriv" ] && continue 2498184Sgordon [ ."$file" = .. -o ."$file" = ... ] && continue 2598184Sgordon if [ -d "$file" -a ! -L "$file" ] 2698184Sgordon then 2798184Sgordon purgedir "$file" 2898184Sgordon else 2998184Sgordon rm -f -- "$file" 3098184Sgordon fi 3198184Sgordon done 3298184Sgordon ) 3398184Sgordon done 3498184Sgordon fi 3598184Sgordon} 3698184Sgordon 37110907Smtm# These files must be removed only the first time this script is run 38110907Smtm# on boot. 39110907Smtm# 40110907Smtm[ "$1" != "reload" ] && rm -f /var/run/clean_var /var/spool/lock/clean_var 41110907Smtm 4298184Sgordonif [ -d /var/run -a ! -f /var/run/clean_var ]; then 4398184Sgordon purgedir /var/run 4498184Sgordon # And an initial utmp file 4598184Sgordon (cd /var/run && cp /dev/null utmp && chmod 644 utmp;) 4698184Sgordon >/var/run/clean_var 4798184Sgordonfi 4898184Sgordonif [ -d /var/spool/lock -a ! -f /var/spool/lock/clean_var ]; then 4998184Sgordon purgedir /var/spool/lock 5098184Sgordon >/var/spool/lock/clean_var 5198184Sgordonfi 5298184Sgordonrm -rf /var/spool/uucp/.Temp/* 5398184Sgordon 54