ソースツリーにマウントポイントがあるときにファイルのタイムスタンプを保存するようにrsyncに指示する方法

ソースツリーにマウントポイントがあるときにファイルのタイムスタンプを保存するようにrsyncに指示する方法

これに関連して質問

問題の簡単な説明:

ソースツリー内にマウントポイントがある場合、-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も変更されます。

c-timeOP は、ファイルを新しいファイルシステムにインポートするとファイルをアーカイブできません。新しいファイルシステムでこれらのファイルを生成することは、上記の条件の1つです(inode /ファイルの生成)。

おすすめ記事