Downloads
Hier eine Reihe von Skripten zu meiner Backup-Lösung.
Beachten Sie, das dies kein Rundum-sorglos-Paket ist! Ich beschreibe hier mein persönliches Backup-Verfahren und stelle die Skripte, so wie ich sie verwende, zur Verfügung.
Ich habe versucht, viele Fehler abzufangen und das Ganze möglichst sicher zu machen. Ich kann jedoch nicht garantieren, dass es so auf jedem System und unter allen Umständen funktioniert. Es können auch noch ungetestete Funktionen enthalten sein.
Verwenden Sie die Skripte nicht, wenn Sie nicht zumindest halbwegs verstanden haben, was sie tun und warum sie genau so sind, wie sie sind.
Beachten Sie, dass Sie bei einigen Skripten evtl. Änderungen an Pfadangaben, Benutzernamen oder Passworteinstellungen vornehmen müssen.
Alle Skripte hier zusammen in einem ZIP: backup.zip
Haupt-Skripte
Diese beiden Skripte sind die einzigen, die normalerweise direkt aufgerufen werden.
backup.pl
Das Skript backup.pl sichert die SSD auf der NAS-Platte.
Dazu muss es auf dem NAS ein Verzeichnis Backups geben, in dem das Skript, sofern es noch nicht existiert, ein Verzeichnis mit dem Hostnamen des Systems erstellt. Dort hinein kommt das gesamte SSD-Backup.
Das bietet noch keine Sicherheit gegen ernsthafte Störungen (Feuer, Diebstahl, Virus, was Sie wollen) da die NAS-Disk zusammen mit der SSD verloren ginge.
Es hilft lediglich gegen bspw. versehentliches Löschen oder anderer Dummheiten auf der SSD, da Sie die Daten dann von der NAS-Platte, schnell und problemlos, zurücksichern könnten.
Es vereinfacht jedoch die nachfolgende Sicherung auf externe Festplatten, denn es reicht dann, die NAS-Platte zu sichern.
rsyncNas2Backup
Das Skript rsyncNas2Backup schließlich sichert den Inhalt der NAS-Platte auf eine externe Backup-Platte.
Jedes Verzeichnis des NAS-Roots, das gesichert werden soll, muss bereits auf der Backup-Platte existieren, sonst wird es übersprungen.
Diese wird regelmäßig gewechselt, so dass mehrere Platten verschiedenen Alters existieren, die nicht online sind und für ein Restore zur Verfügung stehen.
Datenbank-Skripte
Bitte beachten Sie, dass sie natürlich in den folgenden Skripten Ihren Datenbank-Namen, Benutzernamen und Passwort anpassen müssen!
backupUpdateDB
Das Skript backupUpdateDB trägt jedes erfolgte Backup jedes Shares in die Datenbank ein.
backupUpdateMedia
Das Skript backupUpdateMedia wird von rsyncNas2Backup aufgerufen und aktualisiert die Daten der externen Backup-Platte.
Dieses Skript kann auch direkt aufgerufen werden.
Ohne Parameter (wie es auch von rsyncNas2Backup aufgerufen wird) aktualisiert es lediglich die Daten der Backup-Platte. Diese muss dazu gemounted sein.
Mit -d /dev/<device> werden alle Partitionen dieser Disk aktualisiert.
Mit -a werden alle Partitionen aller verfügbaren Disks aktualisiert.
Als mediaName wird das Filesystem-Label der jeweiligen Partition verwendet, den Sie mit e2label setzen können.
Hilfsskripte
Das Perl-Modul backupCred.pm wird in einigen Skripten als required eingetragen und definiert Konstanten wie die NAS-UUID oder Zugangsdaten für die Datenbank.
Das Skript rsyncEnc.pl ist zuständig für das Backup der verschlüsselten Partition.
Es wird von rsyncNas2Backup aufgerufen und ist auch davon abhängig. Es kann nicht direkt von der Konsole aufgerufen werden! Wenn Sie keine verschlüsselte Partition haben, können Sie dessen Aufruf in rsyncNas2Backup einfach entfernen oder auskommentieren.
SQL
Ein SQL-Skript zur Erstellung der Tabellen und einiger Views.
Sie müssen darin noch alle Benutzer robert
durch ihren gewünschten,
bereits existierenden, Benutzernamen ersetzen.
Da Benutzername und Passwort unverschlüsselt in den Skripten stehen (die deshalb mod 0700 sein sollten), ist es sinnvoll, einen Benutzer anzulegen (siehe backupCred.pm), der lediglich auf diese Tabellen Read, Update und Insert-Rechte besitzt.
Ich habe das Verfahren und die Skripte mit großer Sorgfalt erstellt, kann jedoch nicht garantieren, dass sie auf allen Systemen und unter allen Umständen wie erwartet funktionieren. Ich kann nicht für eventuelle Datenverluste durch die Verwendung haften. Wenn Sie diese Skripte verwenden, tun Sie dies auf eigene Verantwortung und eigenes Risiko.

