私はFedora 33(GNOME)でrsync-3.2.3を使用しています。
atime
しかし、ファイルとフォルダのアクセス時間()をどのように保存できますか?
mtime
このコマンドを使用すると、修正時間()のみを保存できます。
rsync -t
答え1
保留atime
(接続時間)をリクエストできます。源泉この--noatime
フラグを使用しますがrelatime
(最新のデフォルト)としてマウントされたファイルシステムではnoatime
必ずしも必要ありません。
rsync -av --noatime src/ dstHost:dst/
atime
ターゲットシステムにそのままにするオプションがないことがわかりますrsync
。ターゲットシステムにアクセスできる場合は、コピーしたツリーをナビゲートできます。これはGNU / Linuxタイプのシステムで機能します。
( cd src/ && find -type f -print0 ) |
ssh dstHost 'cd dst && while IFS= read -r -d "" f; do touch -a -d "@$(stat -c %Y "$f")" "$f"; done'
または、2つのローカルファイルシステム間のコピーを処理する場合
( cd src/ && find -type f -print0 ) |
( cd dst && while IFS= read -r -d "" f; do touch -a -d "@$(stat -c %Y "$f")" "$f"; done )
デフォルトでは、両方のスニペットは同じことを行います。つまり、ソース内の各ファイルについて、ターゲットでそのファイルを見つけてatime
一致するように更新しますmtime
。
答え2
rsyncバージョン3.2.0以降、atimeに影響を与える2つのフラグがあります。
--atimes, -U
保有アクセス(利用)時間--open-noatime
開いたファイルの時間を変更しないでください
これの完全な説明は次のとおりです。
--atimes, -U
This tells rsync to set the access (use) times of the destina‐
tion files to the same value as the source files.
If repeated, it also sets the --open-noatime option, which can
help you to make the sending and receiving systems have the same
access times on the transferred files without needing to run
rsync an extra time after a file is transferred.
Note that some older rsync versions (prior to 3.2.0) may have
been built with a pre-release --atimes patch that does not imply
--open-noatime when this option is repeated.
--open-noatime
This tells rsync to open files with the O_NOATIME flag (on sys‐
tems that support it) to avoid changing the access time of the
files that are being transferred. If your OS does not support
the O_NOATIME flag then rsync will silently ignore this option.
Note also that some filesystems are mounted to avoid updating
the atime on read access even without the O_NOATIME flag being
set.
したがって、テストによって確認されたこれに対する私の解釈は、次にこのrsyncがatimeを更新するのを防ぎ、atimeを次にsrc
コピーすることです。src
dest
rsync -UU <src> <dest>