Comparar e copiar arquivos ausentes do diretório idêntico no servidor remoto

2

Eu tenho um servidor de desenvolvimento no qual eu quero manter certos diretórios de dados em sincronia com o servidor live. Quaisquer arquivos nesses diretórios que existam no servidor ativo, mas não no servidor dev, eu preciso copiar.

Como não me importo em sincronizar com o dev-to-live ou tenho alguma dúvida sobre sobrescrever dados no Dev, eu poderia copiar o diretório inteiro com o SCP. O problema é que esta pasta é enorme (vários GB) e eu quero sincronizá-lo todas as noites. Isso nunca terminaria no tempo.

Qual é a maneira mais simples / melhor (via SSH) para sincronizar / copiar arquivos ausentes do diretório remoto para o diretório local?

Nota: eu prefiro não instalar nenhuma ferramenta nova / personalizada se eu puder ajudar; Eu também estou procurando por algo que eu possa configurar / executar muito rapidamente & facilmente, sem muita agitação ou scripty-ness! :)

    
por Brian Lacy 12.08.2011 / 21:23

2 respostas

6

Coloque o rsync no treinador. Foi feito para este jogo.

Ele deve fazer exatamente o que você precisa; arquivos grandes só transferem partes alteradas, comparações de hash são feitas para evitar a transferência de arquivos inalterados. Você precisará de algum script ao redor de um túnel ssh, mas isso deve ser trivial. Ele deve ser instalado na maioria dos sistemas Linux já existentes, portanto, não é necessário instalar material extra.

    
por 12.08.2011 / 21:26
1

Eu tenho que concordar com Shane. rsync. Dependendo do tempo necessário para sincronizar as pastas e a quantidade de espaço de armazenamento disponível, você pode manter um nome de pasta & foldername.new, então você pode sincronizar o nome da pasta.new várias vezes ao dia. Quando é hora de ir "ao vivo" você pode então apenas copiar os arquivos da nova pasta para a pasta ao vivo, com cp ou um rsync local.

examine as opções no rsycn, pois ele pode ser ajustado para lidar com arquivos grandes mais rapidamente. Além disso, se você estiver movendo muitos arquivos pequenos, você pode criar um .tar /.tar.gz antes de movê-los.

    
por 12.08.2011 / 21:59