Use rsync para alterar apenas a data modificada de pastas / arquivos

1

Acabei de transferir 1,8 TB de dados de um disco rígido externo para um disco rígido interno usando o rsync, mas não adicionei o sinalizador "-t", portanto, a "data de modificação" para todos os arquivos no disco rígido interno agora é a data em que executei o rsync.

Existe uma maneira de copiar as datas dos arquivos de origem para os arquivos de destino sem ter que excluir os arquivos de destino e executar o rsync novamente com o sinalizador "-t"?

    
por user217685 20.11.2013 / 18:30

2 respostas

0

Tocar em 'modificado' em um arquivo de outro arquivo de referência não pode ser feito com o rsync.

No entanto, podemos usar o comando touch para fazer isso.

touch -m -r source/path/file dest/path/file

Acima, tocará na data "modificada" da origem até o caminho do arquivo de destino.

Isso pode ainda ser roteirizado, por ex. abaixo para todos os arquivos em um determinado diretório de destino, desde que os nomes dos arquivos sejam idênticos:

 for i in *; do touch $i -m -r /path/to/source/$i; done
    
por Takkat 20.11.2013 / 20:22
0

Recursivo com find e touch

cd /source/dates/dir
find . -exec touch -c -m -r {} /destination/dates/dir/{} \;

A alteração do diretório é importante para obter um caminho relativo com find .

    
por berbt 14.04.2017 / 23:20