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

Linux – Linux上のRsyncがすべてのタイムスタンプ(作成時間)を保持しないのはなぜですか?

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

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

Access、Modify、Birthのタイムスタンプを保持したい。このコマンドをrsyncで使用します

rsync --atimes --times --crtimes 

または

rsync -UtN

Linuxでは、問題の作成時間(–crtimes)は保持されません。現在の転送時間に自動的に設定されます。

Linuxでの動作を変更するにはどうすればよいですか?コピーしたファイルとフォルダの3つのタイムスタンプすべてを保持したい。

macOSでも同じことをすれば、問題なく動作します。

編集

macOS10.13およびmacOS11では、homebrewをインストールするだけで、最新のrsync3.2.3を入手できます。デフォルトでは、macOSには非常に古いrsyncバージョン2.6.9が統合されています。

  1. ターミナルを開く

  2. Homebrewをインストールする

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

  3. rsyncをインストールする

    brew install rsync

承認された回答:

Linuxでは、問題の作成時間(–crtimes)は保持されません。現在の転送時間に自動的に設定されます。

crtimeを完全に照会することはできますが、残念ながらLinuxで設定するAPIはありません:https://linux.die.net/man/2/utimes。

Linuxでの動作を変更するにはどうすればよいですか?コピーしたファイルとフォルダの3つのタイムスタンプすべてを保持したい。

この質問を確認してください:ext4fsファイルシステム上のファイル/ディレクトリのcrtimeをコピーまたは復元する


Linux
  1. [解決済み]:rsyncが隠しファイル/ディレクトリをコピーしなかった理由とアスタリスクに隠し(ドット)ファイルが含まれていないのはなぜですか?

  2. Linux –なぜSuだけでなくSuを使用するのですか?

  3. Linux –ファイルの作成日を見つける方法は?

  1. Bash翻訳ファイルにすべてのエラーテキストが含まれていないのはなぜですか?

  2. Linux –Setuidが機能しないのはなぜですか??

  3. Linux –ロケールEs_mxは機能するがEsは機能しないのはなぜですか?

  1. Unix時間が1970-01-01から始まるのはなぜですか?

  2. なぜ`exit&`が機能しないのですか?

  3. Bash がどこにでもあるのはなぜですか (すべてではないにしても、ほとんどの Linux ディストリビューションで)。