
Ich verwende einen Laptop mit einer kleineren Festplatte als meine externe Festplatte zu Hause. Ich möchte den Inhalt der vollständigen Installation, d. h. das Betriebssystem (und die gesamte "/"-Partition), als vollständige Spiegelung spiegeln können, was bedeutet, dass das, was an einer Stelle gelöscht wird, an beiden gelöscht wird. Ich gehe davon aus, dass ich dann beide Festplatten zum Booten verwenden kann und ein identisches System habe, und wenn beide Festplatten vorhanden sind, werden sie synchronisiert.
Das nächste, was ich tun möchte, ist etwas verwirrender. Ich möchte die Benutzerdateien kopieren, also Downloads, Bilder usw. (das Verzeichnis „/home“), aber ich möchte, dass dies nur in eine Richtung geht, sodass die größere externe Festplatte alles enthält und was auf der Installation gelöscht wird, NICHT auf der externen Festplatte gelöscht wird. Im Grunde verschiebe ich die Dateien, anstatt sie zu spiegeln. Ich möchte jedoch, dass einige Dateien, die aktuellsten, gespiegelt und auf beiden Festplatten verfügbar sind.
die Frage wäre, wie ich das angehen soll? Ich bin neu in dieser Art von Sachen und bin ein wenig verwirrt. Ich nehme an, dass ich rsync verwenden muss, aber ich bin nicht sicher, wie.
Dank im Voraus.
Antwort1
Die Lösung besteht darin, die Option --delete richtig zu verwenden rsync
. Wenn Sie das Flag NICHT verwenden, sammelt das Ziel alle Dateien, die jemals synchronisiert wurden, und Dinge, die aus der Quelle gelöscht werden, werden nicht aus dem Ziel entfernt.
In Ihrem Fall möchten Sie eine vollständige Synchronisierung mit / als Quelle durchführen, aber --exclude /home, damit es nicht ausgewertet wird. Etwas wie rsync -a / /mnt/external/ --delete --exclude /home --exclude /mnt
, dann führen Sie ein zweites rsync für Home ohne das Löschen durch, wiersync -a /home/ /mnt/external/home/