Ich suchte eine kostengünstige Möglichkeit, meinen Debian Server zu sichern. Die Wahl hatte ich zwischen verschiedenen Anbietern, allerdings sagten diese mir nicht zu. Schlussendlich kam ich auf die Idee, es mit einem Raspberry PI zu probieren.
Hier werde ich euch zeigen, wie ihr über euren Raspberry eine Sicherung von einem Debian Wheezy Server macht.
Was wird benötigt:
Vorbereiten der Speicherkarte
In meinem Fall habe ich eine 8GB Ultra SDHX Class10 Speicherkarte von SanDisk.
Als erstes starte ich den Win32DiskImager, wähle die Speicherkarte und das jeweilige Image aus. Danach ein Klick auf Write.
Raspberry das erste mal starten
Nachdem man alles benötigte an das PI angeschlossen hat, sollte es alles weitere von alleine erledigen. Nach einiger Zeit sollte es in das "Raspberry Pi Software Configuration Tool (raspi-config)" starten. Dort kann man zB. Tastatureinstellungen ändern.
Nachdem man hier alles nach seinen Wünschen konfiguriert hat, kann man auf Finish drücken.
Dieses Konfigurationsmenü kann man auch mit den Befehl "raspi-config" über die Console starten.
Raspberry im Betrieb
Nachdem man nun die erste Konfiguration im Raspberry Pi vorgenommen hat, logge ich mich über Putty ein.
Sofern nicht geändert, könnt ihr euch so einloggen:
Zitat
Benutzer: pi
Passwort: raspberry
Aus Sicherheitsgründen empfehle ich euch das Passwort umgehend zu ändern!
$ sudo passwd pi
Ändern des Passworts für pi.
(aktuelles) UNIX-Passwort:
Geben Sie ein neues UNIX-Passwort ein:
Geben Sie das neue UNIX-Passwort erneut ein:
passwd: Passwort erfolgreich geändert
pi@rasp ~ $
FTP-Server aufsetzen
Als erstes installieren wir den FTP-Server, in meinem Fall ProFTPd, im Servermodus.
In meinem Fall reicht ein Benutzer aus, daher mache ich die Authentifizierung nicht über eine MySQL-Datenbank, sondern über einen Systembenutzer. Dazu lege ich mir einen beliebigen an:
$ sudo adduser bak
Lege Benutzer »bak« an ...
Lege neue Gruppe »bak« (1004) an ...
Lege neuen Benutzer »bak« (1001) mit Gruppe »bak« an ...
Erstelle Home-Verzeichnis »/home/bak« ...
Kopiere Dateien aus »/etc/skel« ...
Geben Sie ein neues UNIX-Passwort ein:
Geben Sie das neue UNIX-Passwort erneut ein:
passwd: Passwort erfolgreich geändert
Benutzerinformationen für bak werden geändert.
Geben Sie einen neuen Wert an oder drücken Sie ENTER für den Standardwert
Vollständiger Name []:
Zimmernummer []:
Telefon geschäftlich []:
Telefon privat []:
Sonstiges []:
Sind die Informationen korrekt? [J/n]
Alles anzeigen
Anschließend testen wir, ob wir mit dem oben erstellen Benutzer, via FTP auf unser Raspberry Pi zugreifen können.
Status: Auflösen der IP-Adresse für rasp
Status: Verbinde mit 192.168.178.24:21...
Status: Verbindung hergestellt, warte auf Willkommensnachricht...
Antwort: 220 ProFTPD 1.3.4a Server (Debian) [192.168.178.24]
Befehl: USER bak
Antwort: 331 Password required for bak
Befehl: PASS **********
Antwort: 230 User bak logged in
Antwort: 257 "/home/bak" is the current directory
Antwort: 226 Transfer complete
Status: Anzeigen des Verzeichnisinhalts abgeschlossen
Alles anzeigen
Einrichten von Duply
Wir loggen uns auf den zu sicherten Server ein. Ich arbeite hier mit root.
Als erstes installieren wir Duply:
Soweit wäre Duply einsatzbereit. Da ich meine backups verschlüsselt abspeichern möchte, erstellen wir einen GPG-Schlüssel.
Die Fragen könnt ihr wie folgt in der Reihenfolge beantworten:
- 1
- 4096
- 0
- j
Nach einiger Zeit solltet ihr dann einen Schlüssel erzeugt haben. Die Nummer des Schlüssels merken bzw. schreiben wir uns auf, da wir ihn später noch benötigen.
Danach erstellen wir die Grundkonfiguration für Duply. Der Name rasp ist hier ein Beispiel. Dies ist der Name des Profils für unseren Backup.
Unser Profil ist nun in /root/.duply/rasp zu finden. Wir editieren die Datei /root/.duply/rasp/conf
Hier ein Ausschnitt meiner Konfiguration:
GPG_KEY='*********'
GPG_PW='******'
GPG_OPTS='--compress-algo=bzip2 --bzip2-compress-level=9'
TARGET='ftp://rasp.*******.myfritz.net:21'
TARGET_USER='*****'
TARGET_PASS='****'
SOURCE='/'
MAX_FULL_BACKUPS=2
MAX_FULLBKP_AGE=2W
VOLSIZE=500MB
Alles anzeigen
Wenn wir jetzt, nach meiner Konfiguration, ein Backup starten, wird der ganze Server gesichert. Damit dies nicht passiert, erstellen wir eine Datei:
Bevor der eigentliche Vorgang beginnen soll, möchte ich eine Datenbanksicherung vornehmen.
Automatisierte Ausführung
Damit der Sicherungsvorgang täglich läuft, richten wir einen cronjob ein:
crontab -e
# Sobald mehr als MAX_FULL_BACKUPS gefunden werden,löscht er die älteren jede Nacht um 24 Uhr
00 0 * * * /usr/local/bin/duply rasp purge-full --force
# Startet das inkrementelle backup jede Nacht um 01:00
00 1 * * * /usr/local/bin/duply rasp backup
Backup auf eine externe Festplatte
Da die Speicherkarte meines Raspberrys nur 8GB groß ist, erklärt sich von selbst, dass ich dort keine großen Datenmengen lagern kann.
Als ersten mounte ich meine externe Platte.
Danach ist die Festplatte unter /media/usb1 zu finden.
Damit auch das Backup auf die Festplatte geschrieben wird, können wir das Homeverzeichnis in der /etc/passwd ändern oder aber den einfacheren Weg, den alten Benutzer löschen und mit dem gleichen Namen und Kennwort erstellen, allerdings mit einem Parameter mehr.
$ sudo deluser bak
Entferne Benutzer »bak« ...
Warnung: Die Gruppe »bak« hat keine Mitglieder mehr.
Fertig.
$ sudo adduser bak --home /media/usb1/Backup/server
Lege Benutzer »bak« an ...
Lege neue Gruppe »bak« (1004) an ...
Lege neuen Benutzer »bak« (1001) mit Gruppe »bak« an ...
Erstelle Home-Verzeichnis »/media/usb1/Backup/server« ...
Kopiere Dateien aus »/etc/skel« ...
Geben Sie ein neues UNIX-Passwort ein:
Geben Sie das neue UNIX-Passwort erneut ein:
passwd: Passwort erfolgreich geändert
Benutzerinformationen für bak werden geändert.
Geben Sie einen neuen Wert an oder drücken Sie ENTER für den Standardwert
Vollständiger Name []:
Zimmernummer []:
Telefon geschäftlich []:
Telefon privat []:
Sonstiges []:
Sind die Informationen korrekt? [J/n] J
Alles anzeigen
Anmerkung:
Das ist meine kleine Mitschrift von aufsetzen meines Rasps.
Ich nehme liebend gerne Kritik und Verbesserungsvorschläge entgegen!
MfG
Moo