Zunächst sollten Sie sich ein wenig über die Include / Exclude-Syntax von rsync informieren. Ich habe das Gefühl, dass das, was Sie tun möchten, besser mit **
Globs als mit *
Globs gemacht werden kann. ( **
Erweitert sich auf eine beliebige Anzahl von Einträgen, während *
sich nur auf einen einzelnen Eintrag erweitert, der möglicherweise mit mehreren Verzeichniseinträgen übereinstimmt . Die Details finden Sie man rsync
unter Einschließen / Ausschließen von Musterregeln .)
Wenn Sie jedoch in der Lage sein möchten, das System mit einem Minimum an Aufwand aus der Sicherung in einen bekannten Betriebszustand zurückzusetzen, sollten Sie vorsichtig sein, wenn Sie Dateien oder Verzeichnisse ausschließen. Ich benutze rsnapshot selbst und habe tatsächlich den umgekehrten Ansatz gewählt: alles einschließen, außer ein paar sorgfältig ausgewählten Verzeichnissen.
In meiner rsnapshot.conf heißt es also tatsächlich (mit Registerkarten, die den Parser der Konfigurationsdatei von rsnapshot glücklich machen):
interval backup NNN # pick your poison
one_fs 0
exclude /backup/**
exclude /dev/**
exclude /proc/**
exclude /run/**
exclude /sys/**
exclude /tmp/**
backup / ./
und sonst sehr wenig. Ja, es bedeutet, dass ich möglicherweise etwas mehr kopiere, als unbedingt erforderlich ist, aber es stellt sicher, dass alles kopiert wird, was nicht als ephermal gedacht ist. Aufgrund von rsnapshot, das das Hardlink-to-Deduplicate-Verhalten von rsync verwendet, sind die einzigen tatsächlichen Kosten hierfür beim ersten Durchlauf. Vorausgesetzt, Sie haben einen Sicherungszielspeicherort mit angemessener Größe (im Vergleich zu Ihrer Gesamtdatensatzgröße), wird danach weder Zeit noch Speicherplatz benötigt. Ich schließe den Inhalt von / backup aus, da ich dort das Backup-Zieldateisystem einbinde. Wenn Sie dies nicht ausschließen, wird das Backup in sich selbst kopiert. Der Einfachheit halber möchte ich jedoch den Montagepunkt beibehalten, wenn ich jemals auf blankem Metall wiederherstellen muss!
In meinem Fall kann ich auch nicht vernünftig verwenden one_fs 1
; Ich führe ZFS mit derzeit ~ 40 Dateisystemen aus. Das explizite Auflisten all dieser Elemente wäre ein Alptraum für die Wartung und würde die Arbeit mit ZFS-Dateisystemen viel komplizierter machen, als es sein muss.
So ziemlich alles, was Sie darüber hinaus ausschließen möchten, hängt sowieso von der Verteilung ab, sodass es praktisch unmöglich ist, eine generische Antwort zu geben. Das heißt, Sie werden wahrscheinlich einige Kandidaten unter / var finden.
exclude /somepath/*
ist in diesem Fall vollkommen in Ordnung; es schließt alles aus/somepath/
, genau wie erwartet. Sie brauchen nicht,**
weil Sie nicht tiefer schauen müssen, wenn bereits alles/somepath/
ausgeschlossen ist.exclude /somepath
und ignorieren Sie diese Verzeichnisse einfach ganz - nicht nur deren Inhalt.Das meiste, was Sie versuchen, kann wahrscheinlich einfach mithilfe der
one_fs
Einstellung erreicht werden. Legen Sie die Dateisysteme die Sie in Ihren Backups enthalten sein sollen, dann diese Einstellung verwenden , um den Rest zu ignorieren (proc
,sys
,dev
, etc.). Ich würde einschließen,/lost+found
weil dieses Verzeichnis immer leer sein sollte, es sei denn, Sie haben ein beschädigtes Dateisystem gesichert. In diesem Fall möchten Sie wahrscheinlich eine Sicherungskopie von allem, wasfsck
wiederhergestellt wurde. Außerdem.pyc
und.pyo
sollte eigentlich gar nicht im Stammverzeichnis sein, also würde ich diese Zeilen auch entfernen./tmp
und/var/tmp
sind ungefähr die einzigen verbleibenden Pfade auf einem "generischen" System, die Daten enthalten, die zuverlässig von Sicherungen ausgeschlossen werden können. Also versuchen Sie vielleicht etwas wie:quelle
/*.pyc
und/*.pyc
aber systemweit*.pyc
und*.pyo
, das habe ich behoben. Ich bin mir jedoch nicht sicher, ob dieone_fs
Einstellung1
alles ausschließen soll, was ich möchte.Ich finde es besser, eine Paketliste, den Inhalt von / etc, / home und alle Benutzer- / Systemdaten von / var und anderswo zu haben. Es ist normalerweise schneller, die Pakete neu zu installieren und die Arbeitskonfiguration zurück zu kopieren.
quelle