I use rsync v. 3.0.4 and when I need to move something I use it with the --remove-source-files. I prefer rsync than mv.

Unfortunately, when I use --remove-source-files, the directories are left on the source side (as said in the man). Is there a way to remove directories too once moved all the files?

  • 1
    It might make sense to file a ticket with the rsync developers. An option to remove the directories as well would be a nice thing to have.
    – user161233
    Feb 22, 2013 at 0:25

3 Answers 3


You could always delete them manually with something like this:

find /path/to/directory -depth -type d -print0 \
    | xargs --null --no-run-if-empty rmdir --

This will only delete empty directories.

  • 5
    A much more elegant solution with current find versions would be: find /path/to/directory -type d -empty -delete Apr 3, 2011 at 2:04

You might be able to get rsync to write a log file in a format that your script could parse for the names of the directories to delete. See man rsyncd.conf for the available log format escapes.


Can't you just "rm -rf" them?

  • 2
    yes of course, that's what I do. But in an automated process (a script) I would like it's the program doing that, otherwise I have to launch a script after that and I have to make checks on not-empty directories before deleting them. Not impossible to do but I'm looking for something ready to go.
    – damko
    Dec 19, 2009 at 14:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.