O Rsync é um utilitário muito bom para isso ... Especificamente:
rsync -Pav --delete --force-delete /media/A/ /media/B/
(observe as barras finais)
man rsync
lhe dará mais informações
Eu tenho o que é aparentemente um requisito de backup um pouco incomum:
Eu tenho acesso físico a ambos os discos, e a transferência sempre vai para um lado. Eu quero replicar completamente o primeiro disco para o segundo e depois atualizá-lo manualmente uma vez por mês.
Eu vi este tópico: link , aqui é onde minhas necessidades diferem.
Ambos os discos são USB e existe a possibilidade de que seus locais de montagem mudem de tempos em tempos. Eu preciso ser capaz de especificar um diretório de origem (/ media / A) e um destino (/ media / B) e ter uma cópia para B sem simplesmente começar do zero cada vez, com o resultado final sendo B e A idênticos. Eu não preciso de alterações incrementais no estilo máquina do tempo, não quero tar ou criptografar nada, não preciso enviar isso através de uma rede.
Pensamentos? Estou executando o Ubuntu 10.04.
Eu recomendo o utilitário rsync para este propósito.
rsync
deve ser adaptável às suas necessidades. Basta fornecer os diretórios de origem e destino e o resto.
cp -au /media/A/* /media/B
parece que deveria ser suficiente. Alguém com ideias mais brilhantes? Objeções?
rsync
seria melhor trabalhar como os outros têm mostrado acima, uma vez que irá atualizar automaticamente. Você também pode usar dd
para copiar os dados do disco brutos de um disco para outro ( "clonagem" do disco), que seria mais fácil de implementar.
Eu recomendo uníssono. Link da página inicial
Eu o uso para sincronizações diárias entre meu computador doméstico e laptop, a sincronização unidirecional será ainda mais fácil.
A configuração será muito simples:
root = /media/A
root = /media/B
Se /media/b
estiver vazio, a primeira vez que ele será propagado com o conteúdo de /media/A
.
Mais tarde, se algo mudar em /media/A
, o uníssono alterará /media/B
para ser idêntico a /media/A
. Também funcionará de outra maneira.
Se eles são locais e rápidos e você deseja as alterações mais precisas, use dd
para copiar tudo. Se você estiver executando isso interativamente, você pode usar pv
para obter uma boa barra de progresso. Quando você fizer isso, verifique se o disco de destino não está montado.
Para lidar com o fato de que os discos podem ser montados em pontos diferentes, eu os acessaria por seu ID, em vez de seu nome de dispositivo temporário.
Então, resumindo:
umount /dev/disks/by-id/blah-blah
pv < /dev/disks/by-id/ata-Patriot_Torqx_128GB_SSD_blah > /dev/disks/by-id/blah-blah
Para responder a algumas das outras, porque ainda não posso comentar:
O problema com o "cp" de Carl é que ele não irá deletar arquivos deletados.
O problema com rsync -Pav
é que ele não propagará hardlinks, mas você pode adicionar -H
para fazer isso.
Eu amo o Unison, mas não é uma boa escolha aqui porque ele grava tudo em diretórios temporários antes de movê-los para o lugar, portanto, pode não funcionar em discos quase cheios. Ele faz uma varredura inicial completa, então ele tenderá a ser mais lento. E mantém algumas informações contábeis que você não precisa para sincronizações unidirecionais.