2000-03-10 14:53:23 +03:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
2018-09-30 13:38:05 +03:00
|
|
|
# $NetBSD: cleartmp,v 1.13 2018/09/30 10:38:05 martin Exp $
|
2000-03-10 14:53:23 +03:00
|
|
|
#
|
|
|
|
|
|
|
|
# PROVIDE: cleartmp
|
|
|
|
# REQUIRE: mountall
|
2002-03-22 07:33:57 +03:00
|
|
|
# BEFORE: DAEMON
|
2000-03-10 14:53:23 +03:00
|
|
|
|
2004-08-13 22:08:03 +04:00
|
|
|
$_rc_subr_loaded . /etc/rc.subr
|
2000-03-10 14:53:23 +03:00
|
|
|
|
|
|
|
name="cleartmp"
|
2000-09-19 17:04:38 +04:00
|
|
|
rcvar="clear_tmp"
|
2000-03-10 14:53:23 +03:00
|
|
|
start_cmd="cleartmp_start"
|
|
|
|
stop_cmd=":"
|
|
|
|
|
|
|
|
cleartmp_start()
|
|
|
|
{
|
2007-02-04 11:19:26 +03:00
|
|
|
echo "Clearing temporary files."
|
2007-02-15 11:47:38 +03:00
|
|
|
if checkyesno per_user_tmp && [ -d ${per_user_tmp_dir} ]; then
|
2007-02-04 11:19:26 +03:00
|
|
|
tmp_dir=${per_user_tmp_dir}
|
|
|
|
else
|
|
|
|
tmp_dir="/tmp"
|
2007-02-15 11:47:38 +03:00
|
|
|
# Check if /tmp was created by the perusertmp rc.d
|
|
|
|
# script and recreate it if necessary.
|
2007-12-05 01:09:01 +03:00
|
|
|
if [ "$(/usr/bin/readlink /tmp)" = ${per_user_tmp_dir}/@ruid ]; then
|
2007-02-15 11:47:38 +03:00
|
|
|
/bin/rm -rf ${tmp_dir}
|
|
|
|
/bin/mkdir ${tmp_dir}
|
2015-07-03 21:36:54 +03:00
|
|
|
/sbin/chown root:wheel ${tmp_dir}
|
2007-02-15 11:47:38 +03:00
|
|
|
/bin/chmod 1777 ${tmp_dir}
|
|
|
|
fi
|
2007-02-04 11:19:26 +03:00
|
|
|
fi
|
|
|
|
|
2012-10-25 01:23:55 +04:00
|
|
|
#
|
|
|
|
# Delete almost everything, except lost+found, quota.user,
|
|
|
|
# and quota.group in the top level. (This is not needed
|
|
|
|
# with mfs or tmpfs /tmp, but doesn't hurt anything).
|
|
|
|
#
|
|
|
|
# The find command, with "-exec ... +" instead of "-exec
|
|
|
|
# ... \;", will pass many file or dir names to each
|
|
|
|
# invocation of "rm -rf". We avoid using any glob
|
|
|
|
# patterns because of the risk of "Arg list too long"
|
|
|
|
# errors when there are very many files.
|
|
|
|
#
|
|
|
|
(cd ${tmp_dir} &&
|
2000-03-10 14:53:23 +03:00
|
|
|
find -x . ! -name . ! -name lost+found ! -name quota.user \
|
2012-10-25 01:23:55 +04:00
|
|
|
! -name quota.group -exec rm -rf -- {} \+ -type d -prune)
|
2018-09-30 13:38:05 +03:00
|
|
|
|
|
|
|
# if requested, create symlink for /var/shm
|
|
|
|
if [ -n "${var_shm_symlink}" ]; then
|
|
|
|
/bin/rm -rf /var/shm
|
|
|
|
/bin/mkdir -m 1777 "${var_shm_symlink}"
|
|
|
|
/bin/ln -s "${var_shm_symlink}" /var/shm
|
|
|
|
fi
|
2000-03-10 14:53:23 +03:00
|
|
|
}
|
|
|
|
|
2000-05-13 12:45:06 +04:00
|
|
|
load_rc_config $name
|
2000-03-10 14:53:23 +03:00
|
|
|
run_rc_command "$1"
|