Я перемещаю файлы на сервере из одного каталога в другой с помощью диспетчера файлов. Есть ли способ сохранить дату/время создания файла (когда он был впервые добавлен на сервер)? Кто-то предложил 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).