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