web-dev-qa-db-fra.com

Préserver ctime avec SCP

Comment copier un fichier en utilisant SCP tout en préservant ctime (heure de modification)?

J'ai un dossier sur mon Mac (OS 10.8) et les résultats de ls -l et ls -lc sont identiques.

$ 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

Ensuite, je le copie sur un serveur distant (Linux), avec -p pour préserver les horodatages.

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

Maintenant, sur le serveur distant, ctime est changé à la date actuelle.

# 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/
13
Elliott B

Le temps de modification est mtime, pas ctime. scp -p conserve déjà mtime.

ctime est le changement d'inode heure, mis à jour chaque fois que le fichier lui-même est touché - renommé, déplacé, chmodded, etc.

En règle générale, il n’ya aucun moyen de le conserver, car le système d’exploitation ne fournit aucune fonction à cet effet. Même si c’était le cas, le simple fait de définir ctime constituerait un changement qui entraînerait sa réactualisation.

En d'autres termes, ls -lc est inutile dans la plupart des cas et vous ne devriez pas vous en inquiéter.

19
grawity