web-dev-qa-db-fra.com

Comment conserver la date de création d'origine des fichiers?

Je déplace des fichiers sur le serveur d'un répertoire à un autre à l'aide du gestionnaire de fichiers. Existe-t-il un moyen de conserver la date/heure de création du fichier (quand il a été ajouté pour la première fois au serveur)? Quelqu'un a suggéré SSH, mais je ne le connais pas très bien. Quelqu'un at-il de bonnes instructions à ce sujet?

35
Kakenx

Utilisez scp avec le -p option.

 -p      Preserves modification times, access times, and modes from the original file.

Exemple de commande copiant un fichier d'un serveur local vers un serveur distant:

scp -p /home/mylocaldata/test.txt remote.example.com:/home/remote_dir

Notez que cela ne préservera pas les drapeaux d'autorisation des utilisateurs et des groupes uniquement (rwx et autres).

63
Tharanga Abeyseela

Vous pouvez également rsync sur ssh avec le -t ou --times option

rsync -P -e ssh -t <source> <destination>

J'aime utiliser le -P option (identique à --partial --progress) car il ne supprime pas tous les fichiers si vous arrêtez le transfert (ou s'il échoue) à mi-chemin et qu'il signale la progression. Voir man rsync

   -t, --times
          This  tells  rsync  to  transfer modification times along with the
          files and update them on the remote system.  Note that if this op‐
          tion  is  not used, the optimization that excludes files that have
          not been modified cannot be effective; in other words,  a  missing
          -t  or -a will cause the next transfer to behave as if it used -I,
          causing all files to be updated (though rsync’s delta-transfer al‐
          gorithm will make the update fairly efficient if the files haven’t
          actually changed, you’re much better off using -t).
0
Boris