sh: rsync: not found

April 30, 2012

This message means rsync is not in the $PATH of the remote user on the remote system.

$ rsync -av –progress Solaris_8_2004-02/ [email protected]:/export/install/OS
sh: rsync: not found
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(454) [sender=2.6.9]

On the remote system:

# echo $SHELL
/sbin/sh
# ls -l /usr/local/bin/rsync
-rwxr-xr-x   1 bin      bin       512108 Dec  1  2006 /usr/local/bin/rsync
# which rsync
no rsync in /usr/bin /usr/sbin /usr/ccs/bin /usr/sbin /usr/bin

In this case, rsync is not in the root user’s $PATH.

You may specify a path to the remote system’s rsync using–rsync-path.

Example:
$ rsync -av –progress –rsync-path=/usr/local/bin/rsync Solaris_8_2004-02/ [email protected]:/export/install/OS

 

source: http://www.brandonhutchinson.com/sh_rsync_not_found.html