Сохранить время с SCP

14

Как я могу скопировать файл, используя SCP, сохранив ctime (время модификации)?

У меня есть папка на моем Mac (OS 10.8), а результаты ls -lи ls -lcсовпадают.

$ 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

Затем я копирую его на удаленный сервер (Linux), -pчтобы сохранить временные метки.

$ scp -pr Day1b/ elliott@server.com:/

Теперь на удаленном сервере ctime изменяется на текущую дату.

# 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/
Эллиот Б
источник

Ответы:

20

Время модификации mtime, а не ctime. scp -pуже сохраняет mtime.

ctime - это время изменения inode , обновляемое каждый раз, когда к файлу прикасается каким-либо образом - переименовывается, перемещается, chmodded и т.д.

Как правило, нет способа сохранить его, поскольку ОС не предоставляет никакой функции для этого, и даже если бы он это сделал, сам процесс установки ctime был бы изменением, которое привело бы к повторному обновлению ctime.

Другими словами, ls -lcбесполезен для большинства целей, и не стоит об этом беспокоиться.

user1686
источник