O servidor remoto é um sistema semelhante ao FreeBSD no qual o rsync não está instalado:
$ ssh [email protected] which rsync scp
Password:
rsync not found
/usr/local/bin/scp
$ rsync -a /ring/0/share/Archives_AudioVisuel/TEST [email protected]:/ifs/par-nas01/data/MPP/ADN_Archives/Audiovisuels/
Password:
zsh:1: command not found: rsync
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: remote command not found (code 127) at io.c(226) [sender=3.1.2]
$
Tentei adicionar -e ssh
, mas recebo o mesmo erro dizendo rsync
is not found
.
E se eu tentar adicionar --rsync-path=/usr/local/bin/scp
, mas recebo um scp: illegal option -- -
erro.
Como posso fazer um rsync
para um servidor que só possui a scp
ferramenta?
Se você não consegue instalar o software na máquina FreeBSD remota, mas consegue instalar o software na sua máquina Linux local, você pode usar
sshfs
como solução alternativa.O
sshfs
comando inicia o/usr/libexec/sftp-server
comando na máquina remota do FreeBSD, um binário pré-instalado . Agora você pode usar seu ponto de montagem como se estivesse no namespace do nome do caminho global. Lembre-se de que a${_}
variável shell se expande até o último argumento do comando anterior.Quando terminar, desmonte a montagem FUSE (sistema de arquivos no espaço do usuário) com o
fusermount
utilitário.Receio que este método não faça uso total dos eficientes algoritmos de cópia Δ do rsync. Se você estiver sincronizando arquivos de vídeo, isso não deve ser muito importante, eu acho.