cleartmp revision 1.9
11.1Slukem#!/bin/sh 21.1Slukem# 31.9Sxtraeme# $NetBSD: cleartmp,v 1.9 2007/02/15 08:47:38 xtraeme Exp $ 41.1Slukem# 51.1Slukem 61.1Slukem# PROVIDE: cleartmp 71.1Slukem# REQUIRE: mountall 81.4Sthorpej# BEFORE: DAEMON 91.1Slukem 101.5Smycroft$_rc_subr_loaded . /etc/rc.subr 111.1Slukem 121.1Slukemname="cleartmp" 131.3Slukemrcvar="clear_tmp" 141.1Slukemstart_cmd="cleartmp_start" 151.1Slukemstop_cmd=":" 161.1Slukem 171.1Slukemcleartmp_start() 181.1Slukem{ 191.8Selad echo "Clearing temporary files." 201.1Slukem # 211.1Slukem # Prune quickly with one rm, then use find to clean up 221.7Selad # /tmp/[lq]* (this is not needed with mfs /tmp, but 231.1Slukem # doesn't hurt anything). 241.1Slukem # 251.9Sxtraeme if checkyesno per_user_tmp && [ -d ${per_user_tmp_dir} ]; then 261.8Selad tmp_dir=${per_user_tmp_dir} 271.8Selad else 281.8Selad tmp_dir="/tmp" 291.9Sxtraeme # Check if /tmp was created by the perusertmp rc.d 301.9Sxtraeme # script and recreate it if necessary. 311.9Sxtraeme if [ "$(/usr/bin/readlink /tmp)" = ${per_user_tmp_dir}/@uid ]; then 321.9Sxtraeme /bin/rm -rf ${tmp_dir} 331.9Sxtraeme /bin/mkdir ${tmp_dir} 341.9Sxtraeme /usr/sbin/chown root:wheel ${tmp_dir} 351.9Sxtraeme /bin/chmod 1777 ${tmp_dir} 361.9Sxtraeme fi 371.8Selad fi 381.8Selad 391.8Selad (cd ${tmp_dir} && rm -rf [a-km-pr-zA-Z]* && 401.1Slukem find -x . ! -name . ! -name lost+found ! -name quota.user \ 411.7Selad ! -name quota.group -exec rm -rf -- {} \; -type d -prune) 421.1Slukem} 431.1Slukem 441.2Slukemload_rc_config $name 451.1Slukemrun_rc_command "$1" 46