GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:perché Rsync su Linux non conserva tutti i timestamp (ora di creazione)?

Sto usando l'attuale versione rsync 3.2.3 e quando eseguo stat comando mi mostra queste informazioni per il mio file.

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

Voglio preservare i timestamp di accesso, modifica e nascita. Usa questo comando in rsync

rsync --atimes --times --crtimes 

o

rsync -UtN

Il tempo di creazione del problema (–crtimes) non viene preservato su Linux. Si imposta automaticamente sull'ora di trasferimento corrente.

Come posso modificare il comportamento su Linux? Voglio conservare tutti e 3 i timestamp per i miei file e cartelle copiati.

Se faccio lo stesso su macOS funziona senza problemi.

MODIFICA

Su macOS 10.13 e macOS 11 devo solo installare homebrew e quindi posso ottenere l'ultimo rsync 3.2.3. Per impostazione predefinita, macOS ha una versione rsync 2.6.9 molto obsoleta integrata.

  1. Apri Terminale

  2. Installa Homebrew

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

  3. Installa rsync

    brew install rsync

Risposta accettata:

Il tempo di creazione del problema (–crtimes) non viene preservato su Linux. Si imposta automaticamente sull'ora di trasferimento corrente.

Sebbene tu possa interrogare perfettamente crtime, sfortunatamente non esiste un'API per impostarlo in Linux:https://linux.die.net/man/2/utimes .

Come posso modificare il comportamento su Linux? Voglio conservare tutti e 3 i timestamp per i miei file e cartelle copiati.

Verifica questa domanda:copiare o ripristinare crtime per file/directory sul filesystem ext4fs


Linux
  1. Linux Setuid non funziona?

  2. Linux:perché Apt Autoremove non rimuove tutti i vecchi pacchetti del kernel in una volta?

  3. Perché `esce &` non funziona?

  4. Perché Bash è ovunque (nella maggior parte se non in tutte le distribuzioni Linux)?

  5. Perché Windows non riconosce i file all'interno delle partizioni Linux?

Timestamp dei file Linux spiegati con esempi

Perché Unix Time inizia al 1970-01-01?

Perché l'output di alcuni programmi Linux non va né a STDOUT né a STDERR?

Perché yum updateinfo non mostra tutti gli aggiornamenti?

Perché rsync non riesce a copiare i file da /sys in Linux?

perché timer_t è definito in time.h su Linux ma non su OS X