Preservar o ctime com o SCP

9

Como posso copiar um arquivo usando o SCP enquanto preservo o ctime (tempo de modificação)?

Eu tenho uma pasta no meu Mac (OS 10.8) e os resultados de ls -l e ls -lc são os mesmos.

$ ls -l
total 0
drwxr-xr-x  9 elliott  staff  306 Mar 24 21:24 Day1b
$ ls -lc
total 0
drwxr-xr-x  9 elliott  staff  306 Mar 24 21:24 Day1b

Copiei-o para um servidor remoto (Linux), com -p para preservar os timestamps.

$ scp -pr Day1b/ [email protected]:/

Agora, no servidor remoto, o ctime é alterado para a data atual.

# ls -l
total 00
drwxr-xr-x  3 elliott elliott 4096 Mar 24 23:24 Day1b/
# ls -lc
total 0
drwxr-xr-x  3 elliott elliott 4096 Mar 28 14:08 Day1b/
    
por Elliott B 28.03.2014 / 20:18

1 resposta

15

O tempo de modificação é mtime, não ctime. scp -p já preserva o mtime.

ctime é a hora de mudança de inode , atualizada toda vez que o arquivo em si é tocado de alguma forma - renomeado, movido, chmodded, etc.

Geralmente não há como preservá-lo, já que o sistema operacional não fornece nenhuma função para isso e, mesmo se o fizer, o próprio ato de configurar o ctime seria uma alteração que faria com que o ctime fosse atualizado novamente.

Em outras palavras, ls -lc é inútil para a maioria dos propósitos e não se deve se preocupar com isso.

    
por 28.03.2014 / 21:40