rsync e backup e alteração do fuso horário

3

Faço backup das minhas fotos da minha câmera usando o rsync, usando:

 rsync -vzrtl --progress --stats --timeout=0 host destination

Agora eu estava em um fuso horário diferente quando fiz meu primeiro backup, depois mudei para um fuso horário diferente e mudei no meu laptop (eu uso o Ubuntu 10.04.4). Hoje eu estava fazendo o backup das minhas fotos e descobri que o timestamp era diferente (quero dizer, os timestamps que você pode ver com 'ls -lt'), então o rsync copiava todo o diretório (eu sempre rodava o rsync com a opção -n primeiro conhecer a lista de arquivos que seriam transferidos). Agora isso é apenas estúpido, porque os arquivos são realmente os mesmos. Então eu mudei de volta para o fuso horário anterior, na verdade os timestamps de arquivo mudaram para o mesmo na minha câmera - isso eu acho estranho de alguma forma.

Eu executo o rsync novamente e os arquivos ainda são diferentes: @ Agora, eu não quero copiar os arquivos novamente, isso seria estúpido, você pode sugerir uma solução limpa? Como posso evitar isso no futuro? por que os arquivos ainda são diferentes, se eu mudei para o fuso horário anterior?

Descobri que o tempo de acesso e alteração são diferentes para os arquivos, usando stat. Por exemplo:

no host

   File: 'DSC00003.JPG'
   Size: 3068392    Blocks: 6016       IO Block: 32768  regular file
 Device: 821h/2081d Inode: 2109        Links: 1
 Access: (0755/-rwxr-xr-x)  Uid: ( 1000/simona)   Gid: ( 1000/simona)
 Access: 2013-03-26 00:00:00.000000000 +0000 
 Modify: 2007-12-25 22:48:20.000000000 +0000
 Change: 2007-12-25 22:48:20.000000000 +0000

e no destino

   File: 'DSC00003.JPG'
   Size: 3068392    Blocks: 6008       IO Block: 4096   regular file
 Device: 802h/2050d Inode: 245762      Links: 1
 Access: (0755/-rwxr-xr-x)  Uid: ( 1000/simona)   Gid: ( 1000/simona)
 Access: 2013-03-26 10:24:49.000000000 +0000
 Modify: 2007-12-25 22:48:20.000000000 +0000
 Change: 2013-02-09 00:11:09.000000000 +0000

Existe uma maneira de evitar que o rsync sobrescreva fotos que foram modificadas mais recentemente no destino?

    
por simona 26.03.2013 / 11:36

1 resposta

4

Para responder à pergunta, faço uma suposição:

Você está usando o rsync localmente, transferindo de um cartão SD montado para um espaço de backup

MMC são formatados com sistemas de arquivos FAT, portanto é sempre útil definir --modify-window=1 porque os sistemas de arquivos FAT armazenam registros de data e hora em uma resolução de 2 segundos.

man rsync fornece a opção --size-only , que ignora o sinalizador last-modified dos arquivos. Portanto, apenas arquivos com tamanho modificado, por ex. os editados serão sincronizados.

Outra opção seria definir a opção --modify-window para a diferença de tempo entre os dois timelines em segundos. por exemplo. por 2 horas use modify-window=3660 se houver uma diferença de 1 hora

talvez seja um problema com sua configuração UTC.

Você pode verificar se o seu hardwareclock está correto digitando date --utc O xwar softwareclock é dado por date .

O valor deve ter a mesma diferença do fuso horário local para o horário de Greenwich.

Seu hardwareclock deve sempre ser definido como UTC para que todos os registros de data e hora estejam corretos mesmo quando você alterar os fusos horários (softwareclock).

Se a hora UTC não estiver correta, verifique se ela está correta no seu BIOS. Se não, corrija.

Se estiver definido, você pode verificar /etc/default/rcS . A linha deve ser a seguinte (Ubuntu 12.04)

#assume that the BIOS clock is set to UTC time (recommended)
UTC=yes
    
por 26.03.2013 / 16:08