xref: /dragonfly/etc/rc.d/cleartmp (revision 0085a56d)
1#!/bin/sh
2#
3# $NetBSD: cleartmp,v 1.4 2002/03/22 04:33:58 thorpej Exp $
4# $FreeBSD: src/etc/rc.d/cleartmp,v 1.4 2002/10/12 10:31:31 schweikh Exp $
5# $DragonFly: src/etc/rc.d/cleartmp,v 1.7 2008/11/22 18:36:18 swildner Exp $
6#
7
8# PROVIDE: cleartmp
9# REQUIRE: mountcritremote
10# BEFORE: DAEMON
11
12. /etc/rc.subr
13
14name="cleartmp"
15rcvar=`set_rcvar clear_tmp`
16start_cmd="cleartmp_start"
17stop_cmd=":"
18
19cleartmp_start()
20{
21	echo "Clearing /tmp."
22	#
23	#	Prune quickly with one rm, then use find to clean up
24	#	the rest. Exceptions are lost+found/ (which is preserved
25	#	but its contents are removed), quota.{group,user}, and
26	#	snapshots/ (left untouched). This is not needed with mfs
27	#	/tmp, but doesn't hurt anything.
28	#
29	(cd /tmp && rm -rf [a-km-prt-zA-Z]* &&
30	    find -x . ! -name . ! -name lost+found \
31		! -name snapshots ! -path "./snapshots/*" \
32		! -name quota.user ! -name quota.group \
33		-exec rm -rf -- {} \; -type d -prune)
34
35		# Remove X lock files, since they will prevent you from
36		# restarting X
37		#
38		rm -f /tmp/.X*-lock
39		rm -fr /tmp/.X11-unix
40		mkdir -m 1777 /tmp/.X11-unix
41}
42
43load_rc_config $name
44run_rc_command "$1"
45