[CentOS] Fastest way of removing very large number of files?

Tony Mountifield tony at mountifield.org
Sat Aug 24 16:15:08 UTC 2013


In article <20130823104855.GA15299 at mercury.spuddy.org>,
Stephen Harris <lists at spuddy.org> wrote:
> On Fri, Aug 23, 2013 at 12:40:51PM +0200, Dennis Jacobfeuerborn wrote:
> > I doubt saving functions calls is going to gain you anything in this 
> > case as 99.9% of the time the rm takes is on disk I/O. If you want to 
> > reduce the rm time you have to find a way to reduce the disk I/O it 
> > requires.
> 
> Correct.
> 
> If it's a whole directory (tree) that needs removing then I find
> 
>   mv dir dir.o ; mkdir dir ; chown ##:## dir; chmod ### dir ; rm -r dir.o &
> 
> type stuff works just fine; the rm can chunk along in the background
> while there's now a nice clean empty directory for the application.

You can even dispense with the ## variable parts. And I would get the owner
and modes correct before making the new directory appear:

mkdir dir.n && chown --reference=dir dir.n && chmod --reference=dir dir.n && \
mv dir dir.o && mv dir.n dir && echo rm -fr dir.o \; echo dir.o deleted | batch

That will do the removal in a batch job without hanging on to the tty, and
will email you a quick note (the output from batch) when it's done.

Cheers
Tony
-- 
Tony Mountifield
Work: tony at softins.co.uk - http://www.softins.co.uk
Play: tony at mountifield.org - http://tony.mountifield.org



More information about the CentOS mailing list