Форум — General Чистка /tmp 0 0 Господа, просветите, есть ли какие-то правила, как кошерно чистить /tmp? А то там уже больше гига мусора Ссылка
Во время каждой загрузки rm -rf /tmp/* mkdir -m1777 /tmp/.{ICE,X11}-unix unnamed ★ (17.10.05 21:30:17 MSK) Показать ответы Ссылка
Ответ на: комментарий от unnamed 17.10.05 21:30:17 MSK А обязательно? mkdir -m1777 /tmp/.{ICE,X11}-unix У меня просто rm -rf /tmp/* ? stassats ★★★★ (17.10.05 21:55:22 MSK) Ссылка
Ответ на: комментарий от unnamed 17.10.05 21:30:17 MSK Интересно а как правильно чистить /tmp если комп не перезагружается? anonymous (17.10.05 21:59:38 MSK) Показать ответы Ссылка
Ответ на: комментарий от anonymous 17.10.05 21:59:38 MSK >Интересно а как правильно чистить /tmp если комп не перезагружается? Нельзя, так как иначе многие проги перестанут работать до перезагрузки. suser (17.10.05 22:24:24 MSK) Ссылка
debian:~# cat /etc/init.d/bootclean.sh # # bootclean.sh Functions to clean /tmp, /var/run and /var/lock. # # Version: @(#)bootclean.sh 2.86-2 27-Aug-2004 miquels@cistron.nl # . /lib/lsb/init-functions . /etc/default/rcS cleantmp() { [ -f /tmp/.clean ] && return [ -z "$TMPTIME" ] && TMPTIME=0 # Don't clean /tmp if TMPTIME < 0 or "infinite". case "$TMPTIME" in -*|infinite) return ;; esac # # Wipe /tmp, but exclude system files. # Note that files _in_ lost+found _are_ deleted. # [ "$VERBOSE" != no ] && log_begin_msg "Cleaning /tmp..." # # 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 rm -f /tmp/.clean set -o noclobber :> /tmp/.clean set +o noclobber # # Only clean out /tmp if it is world-writable. This ensures # it really is a/the temp directory we're cleaning. # 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 )' ( if cd /tmp && [ "`find . -maxdepth 0 -perm -002`" = "." ] then # First remove all old files. find . -depth -xdev $TEXPR $EXCEPT \ ! -type d -print0 | xargs -0r rm -f # And then all empty directories. find . -depth -xdev $DEXPR $EXCEPT \ -type d -empty -exec rmdir \{\} \; rm -f .X*-lock fi ) [ "$VERBOSE" != no ] && log_end_msg 0 } cleanlock() { # # Clean up any stale locks. # [ -f /var/lock/.clean ] && return [ "$VERBOSE" != no ] && log_begin_msg "Cleaning /var/lock ..." ( cd /var/lock && find . ! -type d -exec rm -f -- {} \; ) rm -f /var/lock/.clean set -o noclobber :> /var/lock/.clean set +o noclobber [ "$VERBOSE" != no ] && log_end_msg 0 } cleanrun() { # # Clean up /var/run. # [ -f /var/run/.clean ] && return [ "$VERBOSE" != no ] && log_begin_msg "Cleaning /var/run ..." ( cd /var/run && \ find . ! -type d ! -name utmp ! -name innd.pid \ -exec rm -f -- {} \; ) rm -f /var/run/.clean set -o noclobber :> /var/run/.clean set +o noclobber [ "$VERBOSE" != no ] && log_end_msg 0 } bootclean() { # Only run if find and xargs are available. if [ ! -x /bin/find ] && [ ! -x /usr/bin/find ] then return 0 fi if [ ! -x /bin/xargs ] && [ ! -x /usr/bin/xargs ] then return 0 fi # If there are /tmp/.clean files which have not been created # by root remove them for cleandir in /tmp /var/run /var/lock; do if [ -f $cleandir/.clean ] ; then [ -x /usr/bin/stat ] && cleanuid=`/usr/bin/stat -c %u $cleandir/.clean` # Poor's man stat %u, since stat (and /usr) might not be # available in some bootup stages [ -z "$cleanuid" ] && cleanuid=`/bin/find $cleandir/.clean -printf %U` [ "$cleanuid" -ne 0 ] && rm -f $cleandir/.clean fi done if [ -f /tmp/.clean ] && [ -f /var/run/.clean ] && [ -f /var/lock/.clean ] then return fi [ -d /tmp ] && cleantmp [ -d /var/run ] && cleanrun [ -d /var/lock ] && cleanlock } Demetrio ★★★★★ (17.10.05 22:36:11 MSK) Ссылка
Ответ на: комментарий от anonymous 17.10.05 21:59:38 MSK tmpwatch - самый правильный способ. чистит файлы только которые не используются какое-то время он у меня, кстати не только /tmp чистит. но еще и кеши разные и т.д. Cosmicman ★★ (18.10.05 00:06:51 MSK) Ссылка
Можно посмотреть lsof'ом что используется и удалить то, что не нужно... это один из вариантов, но вообще есть тулзы которые делают это за тебя. Gin ★★ (18.10.05 21:21:04 MSK) Ссылка