Používám aktuální verzi rsync 3.2.3 a když spustím stat
zobrazí mi tyto informace pro můj soubor.
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
Chci zachovat časová razítka Access, Modify a Birth. Použijte tento příkaz v rsync
rsync --atimes --times --crtimes
nebo
rsync -UtN
Čas vytvoření problému (–crtimes) není v Linuxu zachován. Automaticky se nastaví na aktuální čas přenosu.
Jak mohu změnit chování v Linuxu? Chci zachovat všechna 3 časová razítka pro mé zkopírované soubory a složky.
Pokud totéž udělám na macOS, funguje to bez problémů.
UPRAVIT
Na macOS 10.13 a macOS 11 stačí nainstalovat homebrew a pak mohu získat nejnovější rsync 3.2.3. Ve výchozím nastavení má macOS integrovanou velmi zastaralou verzi rsync 2.6.9.
-
Otevřete Terminál
-
Nainstalujte Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
-
Nainstalujte rsync
brew install rsync
Přijatá odpověď:
Čas vytvoření problému (–crtimes) není v Linuxu zachován. Automaticky se nastaví na aktuální čas přenosu.
I když můžete perfektně dotazovat crtime, v Linuxu bohužel neexistuje žádné API, které by to nastavilo:https://linux.die.net/man/2/utimes.
Jak mohu změnit chování v Linuxu? Chci zachovat všechna 3 časová razítka pro mé zkopírované soubory a složky.
Zkontrolujte tuto otázku:Kopírování nebo obnova crtime pro soubory/adresáře na souborovém systému ext4fs