Linuxでrsyncがすべてのタイムスタンプ(生成時間)を保存しないのはなぜですか?

Linuxでrsyncがすべてのタイムスタンプ(生成時間)を保存しないのはなぜですか?

stat私は現在rsyncバージョン3.2.3を使用しており、コマンドを実行すると私のファイルに関するこの情報が表示されます。

stat '/test.txt'
File: /test.txt
Size: 0     Blocks: 0
IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 11949
Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/liveuser)   Gid: ( 1000/liveuser)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2021-02-24 03:17:27.142676494 +0100
Modify: 2021-02-24 03:17:27.142676494 +0100
Change: 2021-02-24 03:17:27.142676494 +0100
Birth: 2021-02-24 03:17:27.142676494 +0100

アクセス、変更、および生成タイムスタンプを維持したいです。 rsyncでこのコマンドを使用してください

rsync --atimes --times --crtimes 

または

rsync -UtN

問題生成時間(--crtimes)はLinuxでは維持されません。現在の乗り継ぎ時間に自動設定されます。

Linuxで動作を変更する方法は?コピーしたファイルとフォルダの3つのタイムスタンプをすべて保持したいと思います。

macOSで同じことを行うと正常に動作します。

編集する

macOS 10.13とmacOS 11では、homebrewをインストールして最新のrsync 3.2.3をダウンロードするだけです。デフォルトでは、macOSは非常に古いrsyncバージョン2.6.9を統合しています。

  1. 端末を開く

  2. ホームブレーキの取り付け

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

  3. rsyncのインストール

    brew install rsync

ベストアンサー1

Linux

クロム時間このファイルシステムでファイルが作成された時期を伝えます。コンテンツが他の場所で作成された可能性があることを示す意図はありません。

アップルシステム

rsyncMacOSでは「パッチ」することができます。rsyncパッチfileflags、crtimes、hfs-compressionを使用してコンパイルすると、rsyncOS Xメタデータを処理し、新しいファイルから元のファイルの作成時間を節約できます。気づくst_birth時間64ビットinodeバリアントでのみ使用できます。望むよりman 2 stat

rsyncLinux用のパッチバージョンがある可能性があります。私は何も知りませんが。

おすすめ記事