O rsync não copia arquivos com atributos diferentes, mas com o mesmo tempo de modificação

1

Estou usando o rsync para fazer um backup. Esta é minha linha de comando:

sudo rsync -avuh --delete --stats --log-file=$LOGFILE --exclude-from $EXCLUDE $SOURCE $DEST

Isso funciona na maior parte. No entanto, hoje me deparei com um cenário em que apenas alterei os atributos de um arquivo para torná-lo executável. Por curiosidade, executei o rsync, mas ele não mostrou esse arquivo como sendo copiado para o destino.

O conteúdo do arquivo é exatamente o mesmo e esta é a saída do status:

  Arquivo: `Projetos / simpleFlash.py '
  Tamanho: 706 Blocos: 8 Bloco IO: 4096 arquivo regular
Equipamento: 802h / 2050d Inode: 56961 Links: 1
Acesso: (0755 / -rwxr-xr-x) Uid: (1000 / pi) Gid: (1000 / pi)
Acesso: 2015-03-26 17: 13: 29.970428613 -0400
Modificar: 2015-02-17 00: 16: 44.558033934 -0500
Alteração: 2015-05-19 13: 53: 28.401164123 -0400
 Nascimento: -

Os tempos são os mesmos, mas o tempo é diferente. Como faço rsync olhar as mudanças no atributo do arquivo, para arquivos com o mesmo mtime?

especificações:
rsync 3.0.9
FS: ext4
kernel do linux: 3.18.11+
Sujay Phadke
fonte

Respostas:

0

Conforme indicado na rsync(1)página man:

O Rsync localiza arquivos que precisam ser transferidos usando um algoritmo de "verificação rápida" (por padrão) que procura por arquivos que foram alterados em tamanho ou na hora da última modificação. Quaisquer alterações nos outros atributos preservados (conforme solicitado pelas opções) são feitas diretamente no arquivo de destino quando a verificação rápida indica que os dados do arquivo não precisam ser atualizados.

Isso significa que, desde que você diga rsyncpara transferir os atributos, eles serão atualizados. Você disse que o atributo ausente era permissões, então adicione -pou --permsà linha de comando e você está pronto para ir.


fonte
Obrigado. Isso realmente funciona. Eu estava usando o modo de arquivo acima (opção 'a'), que faz isso por padrão. O motivo pelo qual fiquei confuso foi que um arquivo que apenas altera a permissão não aparece na saída do rsync como transferido / modificado. Daí eu estava pensando que não está mudando as permissões, mas na verdade é.
Sujay Phadke