O rsync é capaz de fazer isso.
rsync --ignore-existing <src> <dest>
Você também pode executar vários tipos de atualizações. Basta dar uma olhada na página do manual.
Eu tenho duas pastas em dois servidores diferentes.
Eu quero sincronizar arquivos entre A e B, no entanto, eu só quero copiar arquivos que ainda não existem na pasta B porque esses arquivos são enormes. Eu não me importo com a atualização de arquivos. Eu simplesmente quero uma cópia de cada na pasta B.
Como faço isso no Linux? (Eu suponho que seria bom saber como atualizar arquivos que foram alterados também)
Use rsync
e especifique --ignore-existing
se você não quiser atualizar os arquivos existentes:
rsync -e ssh -av --ignore-existing /my/source/directory [email protected]:/data/
Uma opção adicional popular que eu geralmente adiciono é --progress
para você ver o que está acontecendo. Se você espera interrupções, diga também --partial
, mas não tenho certeza de como mixar "partial" e "ignore-existing" se você for cortado durante uma transmissão.
Aqui está um truque que quase faz isso , mas esse truque só funciona quando você está copiando para pastas no mesmo servidor. Abaixo está o conteúdo relevante do link incluído.
[jonesy@cranford testing]$ ls
bar foo
[jonesy@cranford testing]$ ls foo
1 2 3
[jonesy@cranford testing]$ ls bar
1 2 3 4 5 6
[jonesy@cranford testing]$ yes n | cp -i bar/* foo 2>/dev/null
[jonesy@cranford testing]$ ls foo
1 2 3 4 5 6
[jonesy@cranford testing]$ ls bar
1 2 3 4 5 6
"Estou direcionando uma constante" não "para o comando" cp -i ", que pergunta se você deseja sobrescrever (ou não) quaisquer arquivos que já existam no diretório de destino. Você não precisa envie STDERR para / dev / null - se você apenas enviar STDERR para / dev / null - o resultado final é que o comando copy copiará os arquivos para o diretório de destino, se eles ainda não existirem. em ambos os diretórios (Bem, tecnicamente o comando copy não, mas a operação será quando você o fizer desta forma). "
"Claro, eu poderia sobrescrever o conteúdo do diretório, mas não sei se os arquivos que existem em ambos os diretórios são idênticos. Ou eu poderia mover um para o lado e o outro para o lugar, mas o mesmo problema existe "