rsync para NAS copia tudo todas as vezes

6

Eu corro o Ubuntu Linux e uso o script de backup que copia as coisas usando o rsync:

rsync -rc /home/user/source /media/nas/destination

ou

rsync -r /home/user/source /media/nas/destination

No entanto, são necessárias aproximadamente 2,5 horas todos os dias (eu executo isso todos os dias) para que isso seja feito. Há aproximadamente 76 Gb de dados em lan de 1 Gbit. Então - basicamente - o rsync simplesmente não pula arquivos existentes no destino - apenas copia tudo repetidas vezes.

Eu assumo que o problema está no NAS (d-link 321) e que é um compartilhamento de samba que não suporta sistema de transmissão unix - certo? Então, dessa maneira, o rsync não consegue distinguir arquivos antigos de novos arquivos - certo? Eu tentei rsync com -c parametr (pular com base na soma de verificação, não mod-time & tamanho), mas ainda não há dados, ainda leva 2,5 horas.

Alguém pode sugerir a maneira de sincronizar o appx 70-80 Gb de dados que não envolvem cópias "burras" de tudo o tempo todo?

Obrigado :)

UPDATE

bem. sem sorte. Eu apaguei o diretório de destino e executei isso duas vezes:

rsync -r --times /home/user/source /media/nas/destination

Ainda demorou 2,5 horas nas duas vezes. então copia tudo duas vezes.

mmm. Eu fui mais fundo para investigar esse problema. E parece que o rsync não preserva os tempos. Eu executei o comando stat em alguns arquivos da origem e do destino - e os tempos Access, Modify e Change não são preservados no destino. Eu não tenho ideia de por que isso acontece ... Alguma outra sugestão? P.s. Eu relativamente novo no Linux - sio pode ser algo muito idiota e bobo:)

UPDATE 2 Resolvido: problema, como eu percebi, provinha de minhas partes de montagem incorretamente. Eu tenho montado eles assim (em / etc / fstab):

//192.168.10.199/Volume_1 /media/Volume_1 cifs   guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

E é isso que funcionou:

//192.168.10.199/Volume_2 /media/Volume_2 cifs    
username=sam,password=some_password,uid=developer,gid=developer,_netdev 0 0

O Rsync preserva os tempos agora e leva apenas 3 minutos!

    
por Stann 22.04.2011 / 02:14

6 respostas

5

Por que você não tenta:

rsync -a /home/user/source /media/nas/destination

-a é a opção de conveniência especificamente para arquivamento. Isso funciona para mim o tempo todo.

Aqui está o que a página man diz:

-a, --archive archive mode; same as -rlptgoD (no -H)

    
por 22.04.2011 / 03:28
7

Você precisa adicionar -t (ou --times ) à sua linha de comando rsync , para que rsync preserve os tempos de modificação do arquivo no destino. Isso permitirá que as correções rsync subseqüentes ignorem todos os arquivos com tamanhos e tempos de modificação idênticos. Além disso, não se incomode com a opção -c , a menos que você tenha certeza de que seu destino não (ou não pode) manter tempos de modificação de arquivo precisos, por algum motivo.

    
por 22.04.2011 / 02:58
4

É muito provável que você esteja usando o -u flag, que informa ao rsync para não enviar arquivos que existem no destino e que possuem horários modificados mais novos no destino ou têm tempos e tamanhos modificados iguais nos dois locais. / p>     

por 22.04.2011 / 02:49
1

Além de usar o sinalizador -a, você também deve verificar a página do manual para outras opções. O problema com o uso de uma estratégia simples de backup espelhado é que qualquer arquivo corrompido será copiado e corromperá seu backup também. Uma das opções do rsync é fazer backup de uma cópia dos arquivos alterados no lado do destino, o que é muito mais seguro.

Eu recomendo dar uma olhada no BackupPC também. Ele usa o rsync e possui pacotes Debian / Ubuntu. Ele manipulará incrementais adequadamente, agrupando arquivos idênticos e compactando tudo para economizar espaço.

    
por 22.04.2011 / 05:24
0

Eu usei isso para backup no NAS com sucesso por alguns anos

rsync -av --delete /source-dir /target-dir and rsync -avn --delete /source-dir /target-dir -n option means 'show me what would be done, but don't do any changes' --delete delete files that are in the target-dir but not in the source-dir since I want the backup to be a backup

    
por 26.07.2018 / 18:27
0

Às vezes, quando o NAS tem um formato de hora diferente nos arquivos, pode ser útil adicionar -u ou --update , o que tem o efeito de skip files that are newer on the receiver .

    
por 12.09.2018 / 09:56

Tags