* Jochen Schulz <m...@well-adjusted.de> schrieb: > Pol Hallen: > > > > I try to redirect output of this script to file (using tee) and also send > > it to mail > > > > the script deletes files older than 150days: > > > > find /share/.trash/ -type f -atime +150 -exec rm -fr {} \; > > - atime finds files *last accessed* 150 days ago. You probably need > mtime instead.
Depends on the access patterns of these files. Maybe they're created somewhen, but might be read later. In this case, -atime is correct. > I am not even sure whether running the script will change the atime > of all files in the directory and thus prevent anything in it to > be deleted. IMHO should not to. find does only directory scan and stat()'s, but doesnt open() the files, so atime shouldn't be touched. (actually, haven't checked yet). > You should make sure that the filesystem is not mounted with > "relatime" or "noatime" as well when using atime. ACK. Note that this is done quite rarely, since it puts more load onto the medium (metadata's touched each time a file's open()ed). Maybe inotify is a better solution. > - You are starting an rm process for every file to delete. You can end > the command with "+" instead of "\;" to make find pass as many files > to rm as possible. If you delete many files that way, that may make a > big difference spped-wise. But you have to be careful that the command line doesnt get too long. If you're really concerned about perfomance, you could use busybox (with all commands compiled-in) as shell do write your script this way: do_rm() { while read FILE ; do rm -fr $FILE ; done } find /share/.trash/ -type f -atime +150 | do_rm That will only require one or two fork()'s. > - Do you want to have the list mailed as an attachment? -Then I would > just redirect the output to a file and use mutt's batch mode to send > the file (mutt -x -a $file). If you have a local sendmail command, you could simply pipe it there. ( echo "From: r...@my.box.org" echo "To: mys...@foo.org" echo "Subject: garbage collection output" echo find... ) | /usr/sbin/sendmail -t cu -- ---------------------------------------------------------------------- Enrico Weigelt, metux IT service -- http://www.metux.de/ phone: +49 36207 519931 email: weig...@metux.de mobile: +49 151 27565287 icq: 210169427 skype: nekrad666 ---------------------------------------------------------------------- Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme ---------------------------------------------------------------------- -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20100923195734.ga20...@nibiru.local