In relazione a questa domanda
Breve descrizione del problema:
Quando l'albero di origine ha un punto di montaggio al suo interno, i timestamp sui file all'interno di quel punto di montaggio quando vengono copiati nell'albero di destinazione non vengono conservati anche quando si utilizza -a
opzione
Descrizione dettagliata:
Supponiamo che questo sia l'albero dei sorgenti:
/home/ /home/
| |
me/ BACKUP/
| |
+----+----------+ +----+-------+
| | | | | |
data/ foo.txt boo.txt data/ foo.txt boo.txt
| |
a.txt a.txt
dove data/
sopra è montato un disco USB esterno. Tutto è ext4
file system. Tutto nella fonte è di proprietà del mio me
.
BACKUP
era anche un punto di montaggio, il disco USB di backup.
Dopo aver eseguito questo comando rsync -av --delete /home/me/ /home/BACKUP/
, ho trovato che /home/BACKUP/data/
e tutto quello che c'è sotto ha il timestamp corrente, come se questi file fossero stati creati ora, e non il timestamp sui file in /home/me/data/
. Altri file e cartelle al di fuori di data
il timestamp è stato conservato correttamente.
La domanda è:come usare rsync
nell'impostazione precedente per dirgli di preservare i timestamp su tutti i file e le cartelle anche su file e cartelle su un punto montato?
Sto usando:
>uname -a
Linux 3.5.0-17-generic #28-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux
>rsync -v
rsync version 3.0.9 protocol version 30
Risposta accettata:
da man rsync
:
-t, --times preserve modification times
EDIT - per migliorare questa risposta poiché non è immediatamente ovvio il motivo per cui ciò non ha aiutato OP:
OP sta copiando file da un filesystem a un altro e vuole preservare c-time
. La maggior parte delle persone capisce c-time
significa "creare il tempo" che non è corretto sulla maggior parte dei sistemi UNIX/Linux (i filesystem di Windows tengono traccia dei tempi di "creazione" o "nascita").
Per la maggior parte, in UNIX e Linux, c-time
è il timestamp utilizzato per registrare l'ultimo inode "C 'impicca. Un inode cambia se uno dei suoi attributi viene aggiornato:
- creazione (caso di OP)
- modalità (autorizzazioni)
- proprietario/gruppo
- conteggio hard link
- ecc. (chiamata di sistema stat())
OP non può preservare il c-time
dei loro file quando vengono portati su un nuovo filesystem. La creazione di questi file nei nuovi filesystem è una delle condizioni sopra elencate (creazione di inode/file).
/MODIFICA