Como mover o diretório de um servidor para outro?


10

Eu tenho acesso SSH aos dois servidores, um deles está vazio. Como posso mover o diretório do site do servidor antigo para o novo servidor via conexão SSH?

PS: Nos dois servidores é unix

Respostas:


15

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).
rsynccuida do gerenciamento da conexão ssh para você. As avzopções (típicas) solicitam o rsyncuso do modo de arquivo morto (tar), para copiar recursivamente e manter o máximo possível de data e valores do usuário. A vopção é detalhada para mostrar o que está acontecendo no momento. A zopçã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/

Eu acho que o rsync é uma solução melhor do que o ssh pela razão que ring0 deu, ou seja, ele apenas copia o que precisa ser copiado. Portanto, se você precisar fazer isso mais de uma vez, o rsync oferecerá uma vantagem sobre o straight scp.
Jason Tan

1
O rsync é definitivamente a ferramenta. Mas sobre a barra final: isso é importante para a fonte e não para o destino: rsync -a / src / / dest copia tudo sob src em dest, rsync -a / src / dest copia src e tudo abaixo para dest / src / .
Oscar


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.