Alteração de lote modificada / criada datas?

1

Comprei recentemente novos discos rígidos para o meu NAS. Isso significa que estou copiando todos os dados do NAS, atualizando-os e, em seguida, movendo os dados de volta.

Consegui até copiar os dados do NAS, mas a data modificada / criada de cada arquivo foi alterada para quando foi copiada (hoje).

Existe uma maneira, tendo em mente que eu tenho os dados originais, para atualizar em lote as datas modificadas / criadas nos arquivos copiados sem ter que copiá-los novamente (estamos falando de um terabyte de dados)?

    
por Billiam 29.12.2010 / 07:31

4 respostas

1

touch pode alterar o acesso e modificar tempos. Tente algo como (não testado):

find /path/to/source_files -exec touch --reference={} /path/to/dest/{} \;

Isso pode funcionar se o caminho de destino (arquivos copiados) for nomeado como um superconjunto do caminho do local original. Se o relacionamento for mais complicado, você precisará fazer alguma manipulação dos caminhos.

Em relação ao ctime, isso é de info touch :

Although 'touch' provides options for changing two of the times--the times of last access and modification--of a file, there is actually a third one as well: the inode change time. This is often referred to as a file's 'ctime'. The inode change time represents the time when the file's meta-information last changed. One common example of this is when the permissions of a file change. Changing the permissions doesn't access the file, so the atime doesn't change, nor does it modify the file, so the mtime doesn't change. Yet, something about the file itself has changed, and this must be noted somewhere. This is the job of the ctime field. This is necessary, so that, for example, a backup program can make a fresh copy of the file, including the new permissions value. Another operation that modifies a file's ctime without affecting the others is renaming. In any case, it is not possible, in normal operations, for a user to change the ctime field to a user-specified value.

    
por 29.12.2010 / 10:08
0

Como você está lidando com os arquivos?

O comando * nix cp possui o parâmetro -p para preservar o registro de data e hora. Talvez você tenha algo semelhante em seu sistema.

    
por 29.12.2010 / 07:51
0

Se você estiver usando o Windows, tente xxcopy (tem um período de avaliação). Especificamente, essa opção parece útil:

/TCC  Copies the timestamp of Create Time fm src to dst.

link

(não tentei fazer isso sozinho, mas use este programa várias vezes antes)

    
por 29.12.2010 / 13:19
0

No * nix, sugiro usar rsync .

Existe DeltaCopy para o Windows, mas nunca tentei isso. Provavelmente, existem outros.

    
por 29.12.2010 / 14:44