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 opções avz
(típico) pedem que rsync
use o modo arquivo (tar), para copiar recursivamente e manter o máximo possível de data e valores de usuário. A opção v
é detalhada para mostrar o que está acontecendo no momento. A opção z
zipará (comprimirá) a transferência para economizar tempo e largura de banda.
rsync
é muito poderoso e é usado pela maioria dos profissionais, mas você pode querer 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 ( veja este artigo ):
rsync -avz -e 'ssh -p 2222' /source/path user@desthost:/destination/path/