[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