Respostas:
O meu favorito é rsync
. É inteligente o suficiente para copiar apenas o que deve ser copiado (ou seja, alterado ou novo).
rsync -avz /source/path user@desthost:/destination/path/
Observe a final /
no final para solicitar ao rsync que copie dentro desse caminho (não sobre ele).
rsync
cuida do gerenciamento da conexão ssh para você. As avz
opções (típicas) solicitam o rsync
uso do modo de arquivo morto (tar), para copiar recursivamente e manter o máximo possível de data e valores do usuário. A v
opção é detalhada para mostrar o que está acontecendo no momento. A z
opção compactará a transferência para economizar tempo e largura de banda.
rsync
é muito poderoso e é usado pela maioria dos profissionais, no entanto, você pode testá-lo primeiro usando dados não valiosos para garantir que o caminho e as opções correspondam aos requisitos.
Se você precisar usar o rsync via SSH em uma porta não padrão como 2222, poderá usar o seguinte comando ( consulte este artigo ):
rsync -avz -e 'ssh -p 2222' /source/path user@desthost:/destination/path/
Você está procurando um tubo de alcatrão .
Eu escrevi uma resposta que funcionou bem em outra pergunta. Ele usa o SSH-Agent para mover um despejo mysql: A maneira mais rápida de mover vários bancos de dados para um novo servidor
Combine isso com a resposta de jscott