rsync over ssh "error in protocol data stream" (code 12). ssh works
You can also get this error if you specify a remote path that doesn't exist.
I got this error on OS X:
$ rsync -avz public/ static:apps/myapp.com
building file list ... done
rsync: connection unexpectedly closed (8 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-47/rsync/io.c(453) [sender=2.6.9]
Turned it was simply a matter of mistyping the destination path. The apps
dir didn't exist. When I changed that to static:sites/myapp.com
instead (the sites
dir did exist), the error went away.
It's fine if the final directory in the path doesn't exist (I could do static:sites/mynewapp.com
) but it appears any preceding directory must already exist.
I got this error when rsync
wasn't installed on the target host. The error message in my case also said rsync: command not found
. A simple
sudo apt-get install rsync
on the target host solved the problem.
Does your login script at the remote end produce garbage on stdout? Check this with
ssh -p YY me@XXXXX /bin/true > out.txt
If out.txt
contains data, identify the offending statements in your .profile
or .bashrc
and wrap them in
if [ ! -t 1 ]; then
echo garbage
fi