I was looking for a way to include a directory name with space using rsync. So I google it, found a brunch of suggestions, which turned out that NONE of them really works. As always, I ended up coming the solution on my own. Here is how I did it:
rsync -avr 'username@remotehost:/directory\ abc/' /directory\ abc/
That’s it. Enjoy!
When I tried to run rsync (3.1.1) on my FreeBSD box today, the following message caught my attention:
#rsync -avzr --rsh="ssh -c arcfour" --delete --compress-level=9 sourcemachine:/source/ /target/
This rsync lacks old-style --compress due to its external zlib. Try -zz.
Continuing without compression.
Basically, rsync suggests that you should use the -zz option instead of the old style option. So I gave it a try, and of course, I got something like this:
#rsync -avr --rsh="ssh -c arcfour" --delete -zz sourcemachine:/source/ /target/
#My target machine is CentOS / rsync (3.0.6)
rsync: on remote machine: --new-compress: unknown option
rsync error: syntax or usage error (code 1) at main.c(1422) [server=3.0.6]
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.1]
The reason why we have all of these messy things because there is a bug in rsync 3.1.1. (rsync –version) To solve this problem, you will need to rebuild the rsync by skipping the ZLIB_BASE option:
sudo make config
#Uncheck the ZLIB_BASE option
sudo make reinstall clean
Now the rsync should be happy.