Como sincronizar com segurança duas pastas sem duplicatas?

0

Eu tenho uma conta no mega e quero sincronizá-lo com uma pasta no meu computador. O problema é que essa conta é pública até certo ponto, portanto, não posso usar apenas rsync com --delete no caso de alguém excluir todos os arquivos.

Eu pensei que poderia ser possível rsync todos os arquivos para o meu computador sem excluir nada, em seguida, encontrar duplicatas (alguém movia arquivos para outro diretório, etc.) usando o comando find -type f -exec md5sum '{}' ';' | sort | uniq --all-repeated=separate -w 33 | cut -c 35- e mantendo apenas a versão mais recente. / p>

Mas se não me engano, o tempo de criação do arquivo é deixado após a cópia. Isso é lamentável porque os dados consistem principalmente de imagens e arquivos em pdf que não mudam.

Existe alguma maneira de passar (apenas) arquivos copiados para touch , por exemplo, ou qualquer maneira melhor de resolver este problema?

    
por Kostrahb 25.06.2015 / 13:08

1 resposta

1

Você disse:

But If I'm not mistaken time of creation of file is left after copying.

Nem sempre.

Quando você copia arquivos e diretórios, pode preservar os tempos de modificação.
por exemplo. cp -rp preserva a criação de tempo, propriedade ... (de man cp ):

-a, --archive same as -dR --preserve=all
-p same as --preserve=mode,ownership,timestamps

Da mesma forma, rsync -t preserva os tempos de modificação (desta vez de man rsync ):

-t, --times preserve modification times

Normalmente, rsync é usado com -avr opções, com um uso -t implícito.

-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)

    
por 25.06.2015 / 14:09

Tags