Oszczędzaj czas dzięki SCP

14

Jak mogę skopiować plik przy użyciu SCP, zachowując ctime (czas modyfikacji)?

Mam folder na komputerze Mac (OS 10.8), a wyniki ls -li ls -lcsą takie same.

$ 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

Następnie kopiuję go na zdalny serwer (Linux), -paby zachować znaczniki czasu.

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

Teraz na zdalnym serwerze czas ctime jest zmieniany na bieżącą datę.

# 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/
Elliott B.
źródło

Odpowiedzi:

20

Czas modyfikacji to mtime, a nie ctime. scp -pjuż zachowuje mtime.

ctime to czas zmiany i-węzła , aktualizowany za każdym razem, gdy sam plik jest dotykany w jakikolwiek sposób - zmiana nazwy, przenoszenie, chmodded itp.

Zasadniczo nie ma sposobu na zachowanie tego, ponieważ system operacyjny nie zapewnia do tego żadnej funkcji, a nawet gdyby tak było, sam akt ustawienia ctime byłby zmianą, która spowodowałaby ponowne zaktualizowanie ctime.

Innymi słowy, ls -lcjest bezużyteczny dla większości celów i nie należy się tym martwić.

użytkownik1686
źródło