Bezogen auf diese Frage
Kurze Beschreibung des Problems:
Wenn der Quellbaum einen Einhängepunkt enthält, werden Zeitstempel für Dateien innerhalb dieses Einhängepunkts beim Kopieren in den Zielbaum nicht beibehalten, selbst wenn -a
verwendet wird Möglichkeit
Detaillierte Beschreibung:
Angenommen, dies ist der Quellbaum:
/home/ /home/
| |
me/ BACKUP/
| |
+----+----------+ +----+-------+
| | | | | |
data/ foo.txt boo.txt data/ foo.txt boo.txt
| |
a.txt a.txt
wobei data/
oben ist eine externe USB-Festplatte montiert. Alles ist ext4
Dateisystem. Alles im Quellcode gehört mir me
.
BACKUP
war zufällig auch ein Einhängepunkt, die Backup-USB-Festplatte.
Nach Ausgabe dieses Befehls rsync -av --delete /home/me/ /home/BACKUP/
, habe ich das /home/BACKUP/data/
gefunden und alles darunter hat den aktuellen Zeitstempel, als ob diese Dateien jetzt erstellt wurden, und nicht den Zeitstempel der Dateien in /home/me/data/
. Andere Dateien und Ordner außerhalb von data
Hatte den Zeitstempel OK beibehalten.
Frage ist:Wie benutzt man rsync
in der obigen Einstellung, um es anzuweisen, Zeitstempel für alle Dateien und Ordner beizubehalten, sogar für Dateien und Ordner auf einem gemounteten Punkt?
Ich verwende:
>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
Akzeptierte Antwort:
von man rsync
:
-t, --times preserve modification times
BEARBEITEN - um diese Antwort zu verbessern, da nicht sofort ersichtlich ist, warum dies OP nicht geholfen hat:
OP kopiert Dateien von einem Dateisystem in ein anderes und möchte die c-time
beibehalten . Die meisten Leute verstehen c-time
bedeutet „Erstellungszeit“, was auf den meisten UNIX/Linux-Systemen falsch ist (Windows-Dateisysteme verfolgen „Erstellungs-“ oder „Geburts“-Zeiten).
In UNIX und Linux größtenteils c-time
ist der Zeitstempel, der verwendet wird, um den letzten Inode „C“ aufzuzeichnen ‘hängen. Ein Inode ändert sich, wenn eines seiner Attribute aktualisiert wird:
- Erstellung (OPs Fall)
- Modus (Berechtigungen)
- Eigentümer/Gruppe
- Anzahl fester Links
- usw. (stat()-Systemaufruf)
OP kann die c-time
nicht beibehalten ihrer Dateien, wenn sie auf ein neues Dateisystem gebracht werden. Die Erstellung dieser Dateien in den neuen Dateisystemen ist eine der oben aufgeführten Bedingungen (Erzeugung von Inode/Datei).
/BEARBEITEN