Preservar ctime com SCP

14

Como copiar um arquivo usando o SCP, preservando o ctime (tempo de modificação)?

Eu tenho uma pasta no meu Mac (OS 10.8) e os resultados ls -le ls -lcsã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

Em seguida, copio-o para um servidor remoto (Linux), com o -pobjetivo de preservar os registros de data e hora.

$ 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/
Elliott B
fonte

Respostas:

20

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

ctime é o horário de mudança do inode , atualizado sempre que o arquivo em si é tocado de qualquer forma - renomeado, movido, com chmod, etc.

Geralmente, não há como preservá-lo, pois o sistema operacional não fornece nenhuma função para isso, e mesmo se o fizesse, o próprio ato de definir 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.

user1686
fonte