Ich sichere einen Linux-Server und speichere ihn auf einem anderen Server.
Ich begann mit einem einfachen
rsync -aPh --del server.example.com:/ /mnt/backup
Dann hat jemand darauf hingewiesen, dass ich keine Sicherungskopien erstellen soll /proc
, da Sie nicht möchten, dass /proc
ein Server auf einem anderen wiederhergestellt wird .
Gibt es noch etwas, das ich hinzufügen / nicht hinzufügen sollte?
Was ist zum Beispiel damit /sys
?
/boot
ganz aus - möglicherweise müssen Sie die alte Startkonfiguration mit der neuen Startkonfiguration vergleichen. Stellen Sie nur sicher, dass die Wiederherstellung/boot
nur manuell erfolgt.Beide
/proc
und/sys
sind virtuelle Dateisysteme, die den Status des Systems widerspiegeln und es Ihnen ermöglichen, mehrere Laufzeitparameter zu ändern (und manchmal gefährlichere Dinge zu tun, z. B. direkt in den Speicher oder auf ein Gerät zu schreiben). Sie sollten sie niemals sichern oder wiederherstellen.In den meisten modernen Distributionen wird
/dev
es dynamisch beim Booten erstellt (es ist ein vonudev
und Freunden gefülltes Speicher-Dateisystem ). Es hat keinen Sinn, eine Sicherungskopie davon anzulegen, und der Versuch, sie wiederherzustellen, ist vergeblich. Allerdings, wenn Ihre Verteilung konfiguriert ist , eine statische zu verwenden/dev
, gilt dies nicht (Scheck/proc/mounts
, wenn/dev
ein isttmpfs
es ist ein Speicher , Dateisystem).Es gibt andere Dateisysteme, die Sie nicht sichern sollten.
usbfs
( in der Regel auf/proc/bus/usb
, wenn überhaupt angebracht ist ),debugfs
(angeblich an sein ,/sys/kernel/debug
wenn überhaupt angebracht ist , aber einige Leute setzen es woanders, man wahrscheinlich diese eine nicht haben),devpts
(angebracht an/dev/pts
), anderetmpfs
Instanzen (oft gefunden/dev/shm
,/var/run
,/var/lock
Das Sichern und Wiederherstellen von Dateien sollte harmlos, aber sinnlos sein, da deren Inhalt beim Herunterfahren verloren geht. Außerdem können entfernte Dateisysteme oder magische Automounter-Verzeichnisse (wenn Sie versuchen, sie zu sichern oder wiederherzustellen, kann dies zu einer Katastrophe führen) Sichern / Wiederherstellen auf einem anderen Computer ). Sie sollten auch vorsichtig mit/media
und sein/mnt
B. externe Geräte (wie eine CD, die Sie im Laufwerk vergessen haben), gefunden werden, aber Sie haben sie möglicherweise auch absichtlich verwendet, um etwas bereitzustellen, das gesichert werden sollte.Beachten Sie, dass, anders als meist harmlos
tmpfs
Instanzen, Netzwerk - Dateisysteme / Automountern und Wechselmedien, die Dateisysteme sollten Sie nicht wieder nach oben sind alle Abkömmlinge/dev
,/proc
oder/sys
. Wenn Sie keine Netzwerk - Dateisysteme (oder Automountern) haben, und keine Wechselmedien, ohne/sys
und/proc
und einen Neustart nach einer Wiederherstellung (um die Wischtmpfs
Instanzen) sollte ausreichen.quelle
Siehe The Tao Of Backup , Kapitel 1.
quelle
Einige der speziellen Dateien in / proc und / sys verwirren rsync. Normalerweise möchten Sie auch keine gemounteten Netzwerk-Dateisysteme sichern. Auch spärliche Dateien können Probleme verursachen.
Fügen Sie -x hinzu, um es auf ein Dateisystem zu beschränken. Dadurch werden alle Netzwerkdateisysteme und / proc usw. vermieden. In diesem Fall müssen Sie jedoch für jedes gemountete Dateisystem einen rsync ausführen.
Fügen Sie -S hinzu, um mit Dateien mit geringer Dichte sinnvoll umzugehen.
quelle
/ boot, / dev und / proc sind für Backups völlig nutzlos. Wenn Sie jedoch wissen, was Sie tun, können Sie Backups / booten.
Ich würde auch nicht / lib, / media, / mnt, / sbin, / bin, / srv, / sys oder / tmp sichern.
/ usr ist optional, abhängig davon, ob sich in / usr Sicherungskopien befinden. Wenn ich Sie wäre, würde ich mich am meisten darum kümmern, die $ HOMEs, / var und / etc des Benutzers (für Konfigurationsdateien) zu sichern.
Auch dies hängt jedoch von der Art der Sicherung ab, die Sie durchführen möchten. Ist das ein Webserver? Ist das ein Personal Computer? Ist das ein Shell-Server mit Tonnen von Verzeichnissen unter / home?
quelle
rsync
kopieren Sie nicht nur das, was Sie verwendet haben, sondern aktivieren auch die zukünftige Synchronisierung, sodass Sie einen Cron-Job sicher ausführen können.Mit sfdisk und dd können Sie eine vollständige Sicherung durchführen.
Um das Partitionsschema jeder Festplatte zu sichern, verwenden Sie sfdisk wie folgt:
Zum Sichern jeder Partition können Sie dd wie folgt verwenden:
Wo
/dev/sda1
ist nicht gemountet, wie bei einem Live-CD-Boot.(Denken Sie daran, dass Sie viel freien Speicherplatz benötigen, um diese Datei zu schreiben. Vielleicht möchten Sie sie auf ein externes Medium schreiben.) Führen Sie dies für jede Partition einzeln aus und sichern Sie alles.
Dann können Sie auf einem anderen Computer wiederherstellen:
quelle
dd if=/dev/urandom of=/dev/sdb bs=512 count=12
den MBR und die Partitionstabelle des Ziellaufwerks zu löschen.Anstatt auszuschließen, sichere ich normalerweise nur das, was ich will. Einschließlich:
/home
/etc
/var
(außer/var/log
)quelle
Grundsätzlich müssen Pseudodateisysteme (/ proc, / sys, / dev / shm ...) nicht gesichert werden.
quelle
Wie diese großartige Community zeigt:
/ dev / proc / sys / tmp / run / media / lost + found / boot (/ boot ist optional, siehe andere Kommentare)
Als Referenz ist mein letzter rsync-Befehl (unter Arch mit externen Medien, die in '/ run / media / fred / INTENSO /' gemountet sind und in einem Ordner mit dem Namen 'fred' gesichert wurden):
$ sudo rsync -Pazhmxv --exclude / run / media --exclude / dev --exclude / lost + found --exclude / tmp --exclude / proc --exclude / boot --exclude / sys / / run / media / fred / INTENSO / fred /.
(ausgeschlossene Dateien können auch mit geschweiften Klammern (--exclude = {/ dev, / proc}) unter Bash oder mit einer Textdatei (--exclude-from = 'excude.txt') angegeben werden.)
-P: Fortschritt anzeigen -a: Archivierungsmodus -z: Komprimieren während der Übertragung -h: Zahlen in einem lesbaren Format ausgeben -m: Leere Verzeichnisse entfernen -x: Beschränkung auf ein Dateisystem -v: Ausführlich
quelle
Ich bin auf einem Ubuntu 18.04-Rechner und habe diese ausgeschlossen:
Außerdem schließe ich speziell für mein Setup Folgendes aus:
quelle
Im Allgemeinen gewöhne ich mir an, alles auf einem System zu sichern, auch das, was ich mit Sicherheit kenne, ist für die Sicherung unbrauchbar. Es ist einfacher einzurichten und Sie können zu 100% sicher sein, dass Sie alles, was Sie brauchen, in das Backup einbeziehen.
quelle
/proc
und/dev
damit die Armen nicht wenig verwirrenrsync
.Ich verwende eine Ubuntu-Linux-Box als Testserver für die Website-Entwicklung und zum Hosten eines Dokumentations-Wikis. Jede Nacht speichert eine Crontab die MySQL-Datenbank in / var / www, und anschließend wird das gesamte Verzeichnis / var / www komprimiert und auf den Sicherungsserver repliziert. Es ist nicht ideal, aber es ist genug. Ich musste den Server irgendwann neu aufbauen, und alles, was ich wirklich vermisst habe, waren die Apache- und Samba-Konfigurationsdateien.
quelle
Ich nehme an, Sie haben kein Linux auf einer virtuellen Maschine. Wenn möglich, würde ich dringend über eine Umstellung auf Virtualisierung nachdenken. Backups auf VM-Ebene bieten ein völlig neues Maß an Konsistenz und Benutzerfreundlichkeit. Es gibt kostenlose Virtualisierungstools, sodass Sie nicht unbedingt in VmWare oder ein anderes teures Monster-Tool investieren müssen.
quelle
Frage: Welche Verzeichnisse sollte ich beim Sichern eines Servers ausschließen?
Hier ist ein Skript, das ich häufig verwende, von einem Ubuntu 16.04 LTS-Laptop zu einem Ubuntu 16.04 LTS-Server. Es wird deutlich, welche Verzeichnisse bei einer vollständigen Sicherung übersprungen werden sollten:
Beachten Sie den Ausschluss von
/mnt
-, bei dem auf jedem Ubuntu-Systemrsync
viermal täglich ein Vollzeit-Sicherungslaufwerk für Cron-basierte Selbstsicherungen bereitgestellt wird. Diese Laufwerke werden durch Einträge in gemountetfstab
und sind immer vorhanden. Sie in ein Backup auf einem anderen System aufzunehmen, wäre doppelt.Ebenso werden
/media
USB-Laufwerke gemountet. Sie werden separat gesichert.quelle