Using find to Clear Out Unneeded Files (Unix Power Tools, 3rd Edition)
14.19. Using find to Clear Out Unneeded Files
Do you run find on
your machine every night? Do you know what it has to go through just
to find out if a file is three days old and smaller than ten blocks
or owned by "fred" or setuid root?
This is why I tried to combine all the things we need done for
removal of files into one big find
script:
Go to http://examples.oreilly.com/upt3 for more information on: cleanup
2>&1 Section 36.16
#! /bin/sh
#
# cleanup - find files that should be removed and clean them
# out of the file system.
find / \( \( -name '#*' -atime +1 \) \
-o \( -name ',*' -atime +1 \) \
-o \( -name rogue.sav -atime +7 \) \
-o \( \( -name '*.bak' \
-o -name '*.dvi' \
-o -name '*.CKP' \
-o -name '.*.bak' \
-o -name '.*.CKP' \) -atime +3 \) \
-o \( -name '.emacs_[0-9]*' -atime +7 \) \
-o \( -name core \) \
-o \( -user guest -atime +9 \) \
\) -print -exec rm -f {} \; > /tmp/.cleanup 2>&1
This is an example of using a single find command
to search for files with different names and last-access times (see
Section 9.5). Doing it all with one
find is much faster -- and less work for the
disk -- than running a lot of separate finds.
The parentheses group each part of the expression. The neat
indentation makes this big thing easier to read. The
-print -exec at the end removes
each file and also writes the filenames to standard output, where
they're collected into a file named
/tmp/.cleanup -- people can read it to see
what files were removed. You should probably be aware that printing
the names to /tmp/.cleanup lets everyone see
pathnames, such as
/home/joe/personal/resume.bak, which some people
might consider sensitive. Another thing to be aware of is that this
find command starts at the root directory; you can
do the same thing for your own directories.
--CT and JP
14.18. Removing Every File but One15. Optimizing Disk Space
Copyright © 2003 O'Reilly & Associates. All rights reserved.
Wyszukiwarka
Podobne podstrony:
ch14ch14CH14 (21)RM ch14ch14 (2)ch14ch14ch14 (19)CH14 (17)ch14ch14BW ch14ch14 (15)ch14 (12)DK2192 CH14więcej podobnych podstron