Rsync kompletter Server

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
pronto
Beiträge: 11
Registriert: 26.04.2011 12:48:30

Rsync kompletter Server

Beitrag von pronto » 25.10.2021 11:39:49

Servus Community,

ich möchte einen kompletten Server mit rsync sichern und suche nach den erforderlichen Parametern für rsync. Zum einen wären da die nicht benötigten Verzeichnisse, bzw. deren Inhalte. Die derzeit im Testbetrieb ausgenommen Verzeichnisse wären:

Code: Alles auswählen

# exclude_dir.txt
/proc/*
/sys/*
/dev/*
/run/*
/media/*
/swapfile
Gibt es noch weitere Verzeichnisse, auf die verzichtet werden kann, insbesondere solche mit einem hohen Datenaufkommen?

Der vollständige Parametersatz wäre:

Code: Alles auswählen

-avH --numeric-ids --delete --delete-excluded --exclude-from=../exclude_dir.txt
Die Schalter --delete-excluded und -v werden nur solange verwendet, bis die Synchronisation mit dem finalen Parametersatz eingerichtet ist. Der Schalter --numeric-ids wird verwendet, damit die User-IDs des Quellservers nicht mit denen des Backup-Servers übersetzt werden.

Vielen Dank für eure Aufmerksamkeit

Pronto

schwedenmann
Beiträge: 5528
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: Rsync kompletter Server

Beitrag von schwedenmann » 25.10.2021 12:12:09

Hallo

Da ja die Quelle / ist, mußt du in die excludedatei sys/* proc/* schreiben,nicht /sys/* /proc/*


mfg
schwedenmann


P.S.
ich weiß jetzt nciht ob proc/* nur den Inhalt von /proc ausschließt, oder auch das Verzeichnis. Nur den Inhalt wäre besser,ansonsten started bei sys,proc/dev der server nciht.

mfg
schwedenmann

pronto
Beiträge: 11
Registriert: 26.04.2011 12:48:30

Re: Rsync kompletter Server

Beitrag von pronto » 25.10.2021 12:56:43

Servus,
Da ja die Quelle / ist, mußt du in die excludedatei sys/* proc/* schreiben,nicht /sys/* /proc/*
Sicher? Ohne führenden Slash spreche ich doch den relativen Pfad an und der ist relativ zum Speicherort des Skripts, oder nicht?
ich weiß jetzt nciht ob proc/* nur den Inhalt von /proc ausschließt, oder auch das Verzeichnis.
/proc/* schließt nur den Inhalt aus (eigentlich sollte das auch /proc/ schon machen). /proc würde dann das Verzeichnis mit ausschließen. Anyway, es ist aber schon wichtig, dass die Verzeichnisse alle angelegt werden, sonst muss ich das bei einem Restore selber mit der Hand anlegen.

Thx & Bye Tom

Benutzeravatar
Tintom
Moderator
Beiträge: 3033
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Rsync kompletter Server

Beitrag von Tintom » 25.10.2021 14:13:41

pronto hat geschrieben: ↑ zum Beitrag ↑
25.10.2021 11:39:49
Gibt es noch weitere Verzeichnisse, auf die verzichtet werden kann, insbesondere solche mit einem hohen Datenaufkommen?
Die Frage kannst eigentlich nur du selbst beantworten, weil keiner weiß was du mit deinem Server machst, wo du Daten ablegst etc. Deine Frage impliziert, dass du ein kleines Backup haben möchtest. Dementsprechend wäre es vielleicht sinnvoller zu fragen, welche Daten zwingend in das Backup hinein müssen und welche mit geringem Aufwand aus anderen Quellen wiederherstellen werden können (z.B. Debian-Pakete).

Um deine Liste noch zu erweitern: Die Verzeichnisse /lost+found (sofern vorhanden) und /tmp sortiere ich immer aus.

schwedenmann
Beiträge: 5528
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: Rsync kompletter Server

Beitrag von schwedenmann » 26.10.2021 00:37:49

Hallo


@pronto
Ohne führenden Slash spreche ich doch den relativen Pfad an und der ist relativ zum Speicherort des Skripts, oder nicht?
der relative Pfad bezieht sich auf das Quellverzeichnis, in deinem Fall / :mrgreen:

Das Script kann ja sonstwo liegen,bei mir z.V. liegen in /home/user/Scripte, die Quellverzeichnisse liegen aber 2x in / und 1x in /home :!:

mfg
schwedenmann

pronto
Beiträge: 11
Registriert: 26.04.2011 12:48:30

Re: Rsync kompletter Server

Beitrag von pronto » 26.10.2021 14:22:02

Tintom hat geschrieben: ↑ zum Beitrag ↑
25.10.2021 14:13:41
Die Frage kannst eigentlich nur du selbst beantworten, weil keiner weiß was du mit deinem Server machst, wo du Daten ablegst etc.[...]
Servus,

also der Plan ist folgender: Ich habe einen Backup Server, der steht hier bei mir und einen zu sichernden Server, der steht bei einem Online Hoster (Diverse Webseiten, Cloud-Server etc). Der Backup Server baut per SSH eine Verbindung zum Web-Server auf und holt sich per rsync das Delta zum Datenbestand des Vortags. Gesichert wird dabei das komplette Dateisystem des Web-Servers, abzgl. der hier diskutierten Ausnahmen. Die Daten des Webserver liegen alle auf einer Partition. Der Backup-Server macht von diesem Datensatz dann einen btrfs-Snapshot und legt diesen dann in einer gewissen Anzahl maximal aufzubewahrender Snapshots ab.

Die btrfs-Snapshots sind alle auf Dateiebene zugänglich, damit können ggf. auch einzelne Dateien wiederhergestellt werden. Die weit anspruchsvollere Anwendung jedoch wäre beim Totalverlust des Servers eine Wiederherstellung des kompletten Servers an beliebiger Stelle, zB auch bei einem anderen Online Hoster. Soweit bin ich aber noch lange nicht, derzeit arbeite ich hier auf meinem lokalen Test-Lab mit zwei virtuellen Maschinen, um das gesamte Setup zu testen und zu dokumentieren.

Im Moment bin ich noch bei Phase 1) Backup des Servers. Dann kommen in Phase 2) die btrfs-Snapshots dran und in Phase 3) dann diverse Restore-Szenarien.

Jetzt stellt sich die Frage hoffentlich konkreter dar. Was ich jetzt brauche ist eine Liste aller Verzeichnisse auf die ich im Backup verzichten kann, um bei einem Totalverlust des Servers diesen so schnell wie möglich wieder herstellen kann. Des Weiteren ein korrektes rsync Parameter-Set, um alle Daten des Servers in einen gut vorbereiteten und brauchbaren Zustand zu haben, um bei einem worse case Szenarion so wenig wie möglich Nachbearbeitung notwendig zu haben.

Was diesen führenden Slash im rsync Parametersatz bei den ausgeschlossenen Verzeichnissen betrifft, so haben den alle Anleitungen die sich mit dieser Thematik beschäftigen dabei:

z.B:
https://averagelinuxuser.com/backup-and-restore-your-linux-system-with-rsync/ hat geschrieben:--exclude - Excludes folders and files from backup. I typed exclude as a separate option for every directory. You can also use it this way --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/home/*,/lost+found}. But make sure you change your working directory to root (cd /) before you run rsync, otherwise the joint exclude option may not work.
Thx & Bye Tom

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: Rsync kompletter Server

Beitrag von jph » 26.10.2021 18:46:52

Ich werfe mal Debianborgbackup als deutlich leistungsfähigere Alternative zu rsync in den Raum. Lässt sich mit Debianborgmatic prima in einen Wrapper verpacken. btrfs-Snapshots lassen sich über Debianbtrbk automatisieren.

Mein Setup sieht folgendermaßen aus:
  • Schnelles lokales Backup mit Borgmatic, um die Downtime zu minimieren. Ziel ist ein btrfs-Subvolume.
  • Übertragung des btrfs-Subvolume mit btrbk auf einen anderen Server.

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: Rsync kompletter Server

Beitrag von uname » 27.10.2021 09:52:38

Du könntest dir auch überlegen, was überhaupt zu gebackupt werden muss wie z. B. /etc/, /root/, /home, Teile von /var (z. B. Webseiten), Dunp der Datenbank und vielleicht noch eine aktuelle Paketliste. Dann verstehst du dein System und das Backup/Restore vielleicht auch besser und du merkst, wenn wirklich etwas fehlt. Auch könnte die Migration auf ein neues Release einfacher sein. Durch die Postivliste deines Backups kannst du auch etwas großzügiger sein, wobei ich z. B. trotzdem nicht ganz /var sichern wüde.

Antworten