GNU/Linux >> Linux の 問題 >  >> Linux

ソースツリーにマウントポイントがある場合にファイルのタイムスタンプを保持するように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

承認された回答:

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ノード/ファイルの作成)。

/編集


Linux
  1. Rsyncの完了までの時間または残りの作業を見積もりますか?

  2. ファイルがWgetによってダウンロードされているかどうかを確認する方法は?

  3. Rsyncを選択的に消音する方法は?

  1. スクリプト実行の準備ができたときにサウンドを再生する方法は?

  2. Linux .dts デバイス ツリー ファイルをプログラムする方法は?

  3. Linux ls コマンドでタイムスタンプの秒を表示する方法

  1. 名前にスペースが含まれている場合にグループに追加するには?

  2. プロセスが開いているファイルを確認するにはどうすればよいですか?

  3. .fuse_hidden* ファイルを削除するには?