web-dev-qa-db-ja.com

SCPでctimeを保持

Ctime(変更時間)を維持しながら、SCPを使用してファイルをコピーするにはどうすればよいですか?

Mac(OS 10.8)にフォルダがあり、ls -lls -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

次に、タイムスタンプを保持するために-pを使用して、リモートサーバー(Linux)にコピーします。

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

これで、リモートサーバーで、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/
14
Elliott B

変更時間はctimeではなくmtimeです。 scp -pはすでにmtimeを保持しています。

ctimeはinode change時間であり、ファイル自体が何らかの方法で変更されるたびに更新されます–名前の変更、移動、chmoddedなど。

OSはそのための機能を提供していないため、一般的にそれを保持する方法はありません。たとえそれが提供されたとしても、ctimeを設定するという行為自体が、ctimeを再度更新する変更になります。

言い換えると、 ls -lcはほとんどの目的で役に立たないので、心配する必要はありません。

20
user1686