Preservar data modificada em diretórios / pastas com rsync

1

Estou tentando fazer backup de um disco rígido com falha e o rsync seria ideal devido aos recursos que ele tem, como indicador de progresso e capacidade de parar e retomar. O único problema que estou tendo é que, embora o atributo modificado da data do arquivo seja preservado, os diretórios recebem um novo atributo de data. Isso causa problemas, pois classifico muitos arquivos por data para saber o que foi adicionado mais recentemente. É possível preservar o atributo modificado da data do diretório com o rsync:

sudo rsync -avhX --progress --info=progress2 /mnt/failing/ /mnt/new/
A opção

-t (incluída com -a) preserva os atributos do arquivo, mas não menciona os diretórios. Existe algum requisito especial para a propriedade / permissões da partição / mnt / new para preservar certos atributos com sucesso?

    
por DominicM 04.11.2015 / 13:44

3 respostas

2

A hora da última modificação dos diretórios é preservada por -a , mas você pode apenas veja isto quando o rsync terminar. Ele não tenta definir a hora em diretórios que estão constantemente sendo atualizados com novos arquivos.

Você pode testar isso sozinho. Crie um diretório e defina a data para ontem, depois copie-o com o rsync:

$ mkdir d1 d2
$ ls -ld d1
drwxr-xr-x 2  40 Nov  4 14:41 d1
$ touch -d 'yesterday' d1
$ ls -ld d1
drwxr-xr-x 2  40 Nov  3 14:41 d1
$ rsync -i -avR d1 d2
$ ls -ld d1 d2/d1/
drwxr-xr-x 2  40 Nov  3 14:41 d1
drwxr-xr-x 2  40 Nov  3 14:41 d2/d1/

O diretório d2 / d1 tem data de ontem. Podemos sobrescrevê-lo e ver se rsync conserta coisas:

$ touch d2/d1
$ ls -ld d1 d2/d1/
drwxr-xr-x 2  40 Nov  3 14:41 d1
drwxr-xr-x 2  40 Nov  4 14:42 d2/d1/
$ rsync -i -avR d1 d2
.d..t...... d1/
$ ls -ld d1 d2/d1/
drwxr-xr-x 2  40 Nov  3 14:41 d1
drwxr-xr-x 2  40 Nov  3 14:41 d2/d1/

rsync -i mostra o carimbo de data / hora errado em d2 / d1 e o corrige.

    
por 04.11.2015 / 14:48
0

rsync -avz está fazendo por mim tudo
 - v é para verbose
 - a é para o modo de arquivo (semelhante a -rlptgoD)
 - z é usar a compactação

    
por 26.08.2016 / 11:59
0

Acabei fazendo uma redação sobre esse assunto caso seja útil para alguém. Praticamente todos os metadados podem ser preservados com o Rsync, conforme explicado no post.

Substitua as unidades de armazenamento pelo Rsync no Arch Linux

Veja um snippet para sincronizar tudo:

sudo rsync -avihXP --info=progress2 --stats --dry-run /mnt/disk?/ /mnt/temp/
    
por 04.09.2016 / 20:50