これに関連して質問
問題の簡単な説明:
ソースツリー内にマウントポイントがある場合、-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
ベストアンサー1
からman rsync
:
-t, --times preserve modification times
あるファイルシステムから別のファイルシステムにファイルをコピーして保存しようとしているため、ほとんどc-time
の人はc-time
「生成時間」を理解していますが、ほとんどのUNIX / Linuxシステムでは正しくありません(Windowsファイルシステムは「生成」または「生成」時間です。を追跡します)。
ほとんどの場合、UNIXとLinuxではc-time
タイムスタンプを使用して最後のinodeを記録します。氏'歩く。 inodeの属性のいずれかが更新されると、inodeも変更されます。
- 作成(OPの場合)
- モード(権限)
- 所有者/グループ
- ハードリンク数
- 待つ(stat() システムコール)
c-time
OP は、ファイルを新しいファイルシステムにインポートするとファイルをアーカイブできません。新しいファイルシステムでこれらのファイルを生成することは、上記の条件の1つです(inode /ファイルの生成)。