この質問に関連する
問題の簡単な説明:
ソースツリー内にマウントされたポイントがある場合、ターゲットツリーにコピーされたときにそのマウントされたポイント内のファイルのタイムスタンプは、-aを使用しても保持されません。 オプション
詳細な説明:
これがソースツリーであると仮定します:
/home/ /home/
| |
me/ BACKUP/
| |
+----+----------+ +----+-------+
| | | | | |
data/ foo.txt boo.txt data/ foo.txt boo.txt
| |
a.txt a.txt
ここで、data/ 上記は外部USBディスクを搭載しています。すべてがext4 ファイルシステム。ソース内のすべてが私のmeに所有されています 。
BACKUP たまたまマウントポイント、バックアップUSBディスクでもありました。
このコマンドを発行した後rsync -av --delete /home/me/ /home/BACKUP/ 、/home/BACKUP/data/が見つかりました その下のすべてには、これらのファイルが今作成されたかのように現在のタイムスタンプがあり、/home/me/data/内のファイルのタイムスタンプではありません。 。 data外の他のファイルとフォルダ タイムスタンプは問題なく保存されました。
質問は:rsyncの使い方 上記の設定で、マウントされたポイントのファイルとフォルダでも、すべてのファイルとフォルダのタイムスタンプを保持するように指示しますか?
私が使用しているもの:
>uname -a
Linux 3.5.0-17-generic #28-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux
>rsync -v
rsync version 3.0.9 protocol version 30
承認された回答:
man rsyncから :
-t, --times preserve modification times
編集–これがOPに役立たなかった理由はすぐには明らかではないため、この回答を改善するために:
OPは、あるファイルシステムから別のファイルシステムにファイルをコピーしており、c-timeを保持したいと考えています。 。ほとんどの人はc-timeを理解しています これは、ほとんどのUNIX / Linuxシステムでは正しくない「作成時間」を意味します(Windowsファイルシステムは「作成」または「誕生」時間を追跡します)。
ほとんどの場合、UNIXおよびLinuxでは、c-time 最後のiノード「C」を記録するために使用されるタイムスタンプです。 「ハンジ。 iノードは、その属性のいずれかが更新されると変更されます:
- 作成(OPの場合)
- モード(許可)
- 所有者/グループ
- ハードリンク数
- など。 (stat()システム呼び出し)
OPはc-timeを保持できません それらが新しいファイルシステムに持ち込まれたときのファイルの新しいファイルシステムでのこれらのファイルの作成は、上記の条件の1つです(iノード/ファイルの作成)。
/編集