scp é bom se você quiser copiar alguns arquivos. O rsync é bom se você quiser copiar repetidamente o mesmo diretório para lugares. Se, no entanto, você estiver tentando copiar uma grande quantidade de dados entre duas máquinas, a única maneira de fazer isso é usando o netcat.
Na máquina receptora, execute:
# cd /dest/dir && nc -l -p 12345 | tar -xf -
Na máquina de envio, você agora pode executar:
# cd /src/dr && tar -xf - | nc -q 0 remote-server 12345
Você deve achar que tudo funciona bem e muito mais rápido. Se a largura de banda for mais restrita que a CPU, você poderá adicionar "z" ou "j" às opções de tar ("tar -xzf -", etc.) para compactar os dados antes de enviá-los pela rede. Se você está em gigabit, eu não me incomodaria com a compressão. Se ele morrer, você terá que começar do começo, mas poderá descobrir que pode usar o rsync se copiou o suficiente.
Vale ressaltar que isso não tem a segurança que scp ou rsync-over-ssh tem, portanto, confie nos endpoints e em tudo o que estiver entre eles se não quiser que ninguém veja os dados.
Por que não usar o scp? porque é incrivelmente lento em comparação. Deus sabe o que o scp está fazendo, mas não copia dados na velocidade do fio. Não é o encyption e descriptografia, porque isso apenas usar CPU e quando eu fiz isso não tem sido limite da CPU. Eu só posso supor que o processo scp tem muito handshaking e sobrecarga de protocolo ssh.
Por que não rsync? O Rsync realmente não te compra muito na primeira cópia. São apenas as execuções subseqüentes em que o rsync realmente brilha. No entanto, o rsync exige que a origem envie uma lista de arquivos completa ao destino antes de começar a copiar os dados. Se você tem um sistema de arquivos com um grande número de arquivos, isso é uma sobrecarga muito grande, especialmente porque o host de destino precisa mantê-lo na memória.