Copy from remote server which doesn't have rsync
You can use scp -r
to copy files recursively between different hosts. Your syntax could be like scp -r user@Ubuntu-Server:/home/myuser ./from_Ubuntu_server
Besides, you might be able to upload your local rsync
binary using scp to the Ubuntu server and add the --rsync-path=/home/myuser/rsync
to your original rsync
command to let your client rsync
know which rsync
it should invoke on the Ubuntu server.
If you have the permission to use FUSE on your local machine, install the sshfs
package. SSHFS lets you access remote files via normal filesystem access: it mounts a directory tree accessed over SFTP. You only need to have SFTP access on the remote side (which is enabled by default with OpenSSH on Ubuntu). Once the remote directory is mounted, you can use the tools of your choice to manipulate files, without having to care whether they're local or remote.
mkdir ~/net/remote-server
sshfs remote-server:/ ~/net/remote-server
rsync -a --no-copy-links ~/net/remote-server/remote/path/ /local/path/
fusermount -u ~/net/remote-server
You can use a tar
and ssh
combination like this:
tar cvzf - folder/ | ssh -C user_name@host_name "cd ~/; tar xvzf -"