[EMAIL PROTECTED] (Chris Cowan) writes:
> > Does "cp -r" do a depth-first traversal or a breadth-first traversal?
>
>
> Anyway, I did some testing and it appears to be breadth-first.
Another source writes:
> The ubiquitous implementation is depth-first.
So there is some disagreement here. Anyway, you probably want a
depth-first copy so that you get the maximum benefit from caching
directories. If "cp -r" doesn't do that, try something else.
"find . -depth | xargs cp -i {} destdir" is kind of the flavor of
operation you're after, but note that the pathnames will all be long
and relative to the top directory, so each cp will have to do some
repeated stat and lookup calls. What you might do is write a PERL
script or something to traverse the tree, changing the working
directory at each level, so as to reduce the path length of the file
accesses. Whether you want to traverse the source tree or the
destination tree in this fashion, I couldn't say.
I thought the suggestion to use multiple clients, maybe even multiple
servers, was interesting. It would be a little more work, but you
could create the (even partial) directory hierarchy first, split it up
into 20 volumes, move the volumes around to different servers, copy
the data, and then move the volumes back (if you actually wanted them
to reside on the same server) or leave them be.
Lyle Transarc 707 Grant Street
412 338 4474 The Gulf Tower Pittsburgh 15219