On Fri, Apr 24, 2009 at 10:23:06AM +0200, Paul Slootman wrote: > I don't think the intention is to actually delete empty directories at > the receiving end; only to prevent them being created.
I have not yet found out how to prevent empty directories from being created when using "--max-size" or "--min-size". As I showed in my original post to this list, "--prune-empty-dirs" does not do it. Either the man page is wrong/misleading/incomplete, I am misunderstanding it badly, or rsync is broken. I am fully prepared to believe that I am misunderstanding something and will happly work on a better man page wording when the truth is revealed to me. I've supplied a short script below that you can use to see the problem yourself. > So once they're created due to perhaps an earlier invocation without > purge-empty-dirs, you'll have to remove them by hand. As my script below shows, the destination directory does not even exist. There is no previously-created content in it at all, and yet rsync creates empty directories even though I say "--prune-empty-dirs". Why? How do I make "--prune-empty-dirs" do what the man page says it does? #!/bin/sh -u # start with fresh empy directories for source and destination tmp1=/tmp/one$$ tmp2=/tmp/two$$ rm -rf $tmp1 $tmp2 echo '*** create the source directory with six subdirectories' for i in 1 2 3 4 5 6 ; do mkdir -p $tmp1/dir$i done echo '*** create three small files in dir1 dir2 dir3' for i in 1 2 3 ; do dd bs=1M count=1 if=/dev/zero of=$tmp1/dir$i/smallfile done echo '*** create three big files in dir4 dir5 dir6' for i in 4 5 6 ; do dd bs=1M count=11 if=/dev/zero of=$tmp1/dir$i/BIGFILE done echo '*** rsync should copy only the big files and prune all empty directories' rsync -ai --min-size 10M --prune-empty-dirs $tmp1 $tmp2 echo '*** "find" should show no empty directories, but there are three - why?' find $tmp2 -empty echo '*** replace --min-size with an --exclude and it works fine:' rm -r $tmp2 rsync -ai --exclude smallfile --prune-empty-dirs $tmp1 $tmp2 find $tmp2 -empty # shows no output - this is correct and expected echo "*** Why doesn't --prune-empty-dirs work with --min-size and --max-size?" rm -r $tmp1 $tmp2 -- | Ian! D. Allen - idal...@idallen.ca - Ottawa, Ontario, Canada | Home Page: http://idallen.com/ Contact Improv: http://contactimprov.ca/ | College professor (Open Source / Linux) via: http://teaching.idallen.com/ | Defend digital freedom: http://eff.org/ and have fun: http://fools.ca/ -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html