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を統合しています。
端末を開く
ホームブレーキの取り付け
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
rsyncのインストール
brew install rsync
答え1
Linux
クロム時間このファイルシステムでファイルが作成された時期を伝えます。コンテンツが他の場所で作成された可能性があることを示す意図はありません。
アップルシステム
rsync
MacOSでは「パッチ」することができます。rsync
パッチfileflags、crtimes、hfs-compressionを使用してコンパイルすると、rsync
OS Xメタデータを処理し、新しいファイルから元のファイルの作成時間を節約できます。気づくst_birth時間64ビットinodeバリアントでのみ使用できます。望むよりman 2 stat
。
rsync
Linux用のパッチバージョンがある可能性があります。私は何も知りませんが。
答え2
問題生成時間(--crtimes)はLinuxでは維持されません。現在の乗り継ぎ時間に自動設定されます。
crtimeを完全に照会することはできますが、残念ながらLinuxにはこれを設定できるAPIはありません。https://linux.die.net/man/2/utimes。
Linuxで動作を変更する方法は?コピーしたファイルとフォルダの3つのタイムスタンプをすべて保持したいと思います。
この質問を確認してください:ext4fs ファイルシステムからファイル/ディレクトリのcrtimeをコピーまたは復元する