Как сохранить исходную дату создания файлов?

Я перемещаю файлы на сервере из одного каталога в другой с помощью диспетчера файлов. Есть ли способ сохранить дату/время создания файла (когда он был впервые добавлен на сервер)? Кто-то предложил SSH, но я не очень хорошо знаком с этим. У кого-нибудь есть хорошие инструкции по этому поводу?

Ответы

Ответ 1

Используйте scp с параметром -p.

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

Пример команды копирования файла с локального на удаленный сервер:

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

Обратите внимание, что это не будет сохранять флаги разрешений только для пользователей и групп (rwx и т.д.).

Ответ 2

Вы также можете выполнить rsync через ssh с опцией -t или --times

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

Мне нравится использовать опцию -P (так же, как --partial --progress), потому что она не удаляет все файлы, если вы останавливаете передачу (или происходит сбой) на полпути, и сообщает о ходе выполнения. Смотрите 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 rsyncs delta-transfer al‐
          gorithm will make the update fairly efficient if the files havent
          actually changed, youre much better off using -t).