Am 2008-08-28 10:39:05, schrieb Ryan Klein: > I have been searching for a way to have Debian automatically remove > files in the /tmp directory after a period of time. We need it mainly > for removing old session files that grow quite rapidly (a rate of 10 per > second). I am hoping Debian has a built in utility, otherwise a package > will suffice if not a simple bash script. Thanks for your input. With 10 seonds you will not be very happy... I think, you are searching for ----[ '/etc/defaults/rcS' ]--------------------------------------------- # # /etc/default/rcS # # Default settings for the scripts in /etc/rcS.d/ # # For information about these variables see the rcS(5) manual page. # # This file belongs to the "initscripts" package. TMPTIME=0 SULOGIN=no DELAYLOGIN=no UTC=no VERBOSE=no FSCKFIX=no RAMRUN=no RAMLOCK=no ------------------------------------------------------------------------ and set TMPTIME to 1 which mean ONE DAY, but this will only work on bootup... and maybe you can use a cronjob executed each minute and the codesniplet ----[ '/etc/init.d/bootclean' ]----------------------------------------- clean_tmp() { cd /tmp || { log_failure_msg "bootclean: Could not cd to /tmp." ; return 1 ; } # # Only clean out /tmp if it is world-writable. This ensures # it really is a/the temp directory we're cleaning. # [ "$(find . -maxdepth 0 -perm -002)" = "." ] || return 0 if [ ! "$TMPTIME" ] then log_warning_msg "Using default TMPTIME 0." TMPTIME=0 fi [ "$VERBOSE" = no ] || log_action_begin_msg "Cleaning /tmp" # # Remove regardless of TMPTIME setting # rm -f .X*-lock # # Don't clean remaining files if TMPTIME is negative or 'infinite' # case "$TMPTIME" in -*|infinite|infinity) [ "$VERBOSE" = no ] || log_action_end_msg 0 "skipped" return 0 ;; esac # # Wipe /tmp, excluding system files, but including lost+found # # If TMPTIME is set to 0, we do not use any ctime expression # at all, so we can also delete files with timestamps # in the future! # if [ "$TMPTIME" = 0 ] then TEXPR="" DEXPR="" else TEXPR="-mtime +$TMPTIME -ctime +$TMPTIME -atime +$TMPTIME" DEXPR="-mtime +$TMPTIME -ctime +$TMPTIME" fi EXCEPT='! -name . ! ( -path ./lost+found -uid 0 ) ! ( -path ./quota.user -uid 0 ) ! ( -path ./aquota.user -uid 0 ) ! ( -path ./quota.group -uid 0 ) ! ( -path ./aquota.group -uid 0 ) ! ( -path ./.journal -uid 0 ) ! ( -path ./.clean -uid 0 ) ! ( -path './...security*' -uid 0 )' mkflagfile /tmp/.clean || return 1 report_err() { if [ "$VERBOSE" = no ] then log_failure_msg "bootclean: Failure cleaning /tmp." else log_action_end_msg 1 "bootclean: Failure cleaning /tmp" fi } # # First remove all old files... # (Use xargs here so that only one additional process gets created) # find . -depth -xdev $TEXPR $EXCEPT ! -type d \ -print0 | xargs -0r rm -f -- \ || { report_err ; return 1 ; } # # ...and then all empty directories # (Don't use xargs here because dirs must be removed one by one from # the bottom up) # find . -depth -xdev $DEXPR $EXCEPT -type d -empty \ -exec rmdir \{\} \; \ || { report_err ; return 1 ; } [ "$VERBOSE" = no ] || log_action_end_msg 0 return 0 } ------------------------------------------------------------------------ and you should be careful WHAT you are DELETING! Thanks, Greetings and nice Day/Evening Michelle Konzack Systemadministrator 24V Electronic Engineer Tamay Dogan Network Debian GNU/Linux Consultant -- Linux-User #280138 with the Linux Counter, http://counter.li.org/ ##################### Debian GNU/Linux Consultant ##################### Michelle Konzack Apt. 917 ICQ #328449886 +49/177/9351947 50, rue de Soultz MSN LinuxMichi +33/6/61925193 67100 Strasbourg/France IRC #Debian (irc.icq.com)
Attachment:
signature.pgp
Description: Digital signature