Linux Ext4 para o Ext4 rsync recopiando alguns arquivos

1

Eu tenho uma configuração de script de backup para copiar vários arquivos de uma máquina para outra através do ssh. Ambas as extremidades estão usando o Ext4, embora a extremidade de recebimento esteja usando-o em um dispositivo de armazenamento em massa USB (se isso fizer diferença). Eu tenho o problema que alguns arquivos, aparentemente aleatórios, são listados como sendo recopiados toda vez que eu executar o script, mesmo que eles não tenham sido modificados. Posso ver o destino e o timestamp foi atualizado para o que quer que seja "now" durante a cópia, embora o arquivo não tenha sido alterado.

Encontrei este post sobre um problema semelhante com rsyncing de / para NTFS, mas o problema de timestamp não deve se aplicar ao Ext4. Apenas no caso, eu tentei ambos --modify-window (que não funcionou) e -u que misteriosamente funcionaram .

As permissões não devem ser um problema, já que o meu usuário na extremidade de envio é o mesmo que o meu usuário no terminal de recebimento e não estou especificando nenhum tipo de preservação. Aqui está minha linha de comando:

rsync -rvz --no-g --links --safe-links --delete-after --delete-excluded [source] [destination]

Eu verifiquei que as opções de exclusão e compactação não estão mexendo com isso, removendo-as temporariamente; Eu ainda recebo os mesmos arquivos aleatórios que são recopiados.

Veja uma lista de exemplos de arquivos que são recopiados:

source (apenas arquivos pertinentes listados)

/home/lytithwyn/Documents/:
-rw-rw-r-- 1 lytithwyn lytithwyn   11754 2012-08-04 13:44 family birthdays.ods
-rw-rw-r-- 1 lytithwyn lytithwyn   12897 2012-08-17 09:23 youth_fund.ods

saída rsync

building file list ... done
Documents/family birthdays.ods
Documents/youth_fund.ods

destino após a cópia (apenas os arquivos pertinentes listados)

/mattbackup/lithboxhome/Documents/:
-rw-rw-r-- 1 lytithwyn lytithwyn   11754 Aug 17 09:49 family birthdays.ods
-rwxr-xr-x 1 lytithwyn lytithwyn   12897 Aug 17 09:49 youth_fund.ods

Como no outro post, -u conserta, mas parece um kludge. Alguém sabe o que realmente está acontecendo? Agora que eu olho para ele, também não sei o que está acontecendo com as permissões de execução aleatórias no destino.

    
por Matthew 17.08.2012 / 15:59

1 resposta

4

O rsync, por padrão, usa o registro de data e hora dos arquivos para detectar alterações.

Você tem duas opções

  1. Adicione -t ao seu comando rsync para copiar os timestamps junto com os arquivos
  2. Adicione -c ao comando rsync para forçar o rsync a usar as somas de verificação dos arquivos para detectar as alterações, em vez das marcações de horário.
por 17.08.2012 / 16:30