Eric, Thanks for the quick response. I'll continue to investigate rsync. The move command is for moving files. In my opinion, having a safe flag in there fits the function of the command.
My first attempt with rsync resulted in the same problem I have when there are errors using the "mv" command: $ mkdir a b $ touch a/1.txt a/2.txt $ chmod 000 a/2.txt $rsync -r --remove-source-files a/ b/ rsync: send_files failed to open "/tmp/test/a/2.txt": Permission denied (13) rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1070) [sender=3.0.8] $ ls b 1.txt $ ls a 2.txt The "a" directory was partially moved. This is no big deal with a small set of files, but a large set becomes a headache. Mike On Fri, Apr 5, 2013 at 12:42 PM, Eric Blake <[email protected]> wrote: > On 04/05/2013 11:23 AM, Michael Boldischar wrote: > > Hello, > > > > This is a suggestion for a new feature in the "mv" command. This feature > > applies to moving directories. If a user moves a directory with a lot of > > files and encounters an error, it can often leave the source directory > in a > > partially moved state. It makes it hard to redo the operation because > the > > source directory has changed. > > > > The feature I'm looking for is a flag in the "mv" command that preserves > a > > copy of the source directory until the entire tree has been successfully > > copied to the destination directory. At that point, the move command can > > delete the source directory. That way, a user can fix the error and > rerun > > the same move command. It makes it easier and less of a headache. > > > > There might be other ways to accomplish this. But, I would use this > > feature all the time if it were available. I call it the "safe move > > operation." > > This sounds like something that rsync can already do. In that case, > rather than wait for someone to write the feature into mv (and > successfully argue that it is not adding bloat), and then for that > feature to finally propagate into the distros that you commonly use; it > would be easier to figure out the appropriate rsync > --remove-source-files invocation that does what you want. > > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org > > -- * * *Michael Boldischar* Research Fellow / IT Manager University of Minnesota Department of Civil Engineering MAST Laboratory University of Minnesota 2525 4th Street SE Minneapolis, MN 55455 Desk Phone: 612-626-9562 Cellphone: 651-387-0223 Fax: 612-624-5964 Email: [email protected]
