BackupPC, wie der Name schon sagt
BackupPC ist der Name eines Debian Paketes, mit dem Backups erstellt werden können.
Weitergehende Informationen, insbesondere eine gute Dokumentation finden sie auch hier:
http://backuppc.sourceforge.net Es wird installiert mit:
aptitude install backuppc
Hierbei wird uns ein Passwort mitgeteilt, dass wir uns, Pardon ich nicht, nur sie bitte, exakt notieren
Nach erfolgreicher Installation als erstes den backuppc stoppen.
/etc/init.d/backuppc stop
BackupPC Konfigurationsschritte
- Apache um einen Eintrag erweitern
- Plattenplatz (LVM) zur Verfügung stellen
- Security und Risiko klären und entscheiden
- BackupBC konfigurieren und starten
- In einem DebianEdu Umfeld intensiv testen und probieren
Apache
In das Verzeichnis /etc/apache2/conf.d/ einen Link zu backuppc Webserver Konfiguration legen:
ln -s /etc/backuppc/apache.conf /etc/apache2/conf.d/backuppc.conf
Plattenplatz
Wichtig zu wissen wäre noch, es ist schon ein Backupprogramm aktiv, dass schon von
DebianEdu bei der Installation aktiviert wurde. Es heisst slbackup und basiert auf dem Backuptool rdiff-backup. Dies gilt es auszuschalten, da es sonst unseren neuen Datenpool nochmal sichern würde.
# vim /etc/cron.d/slbackup
Der Einfachheit halber kommentieren wir einfach den Startbefehl hier aus.
Somit sieht diese Datei dann so aus:
# cron job for Skolelinux Backup (once a day)
# 00 01 * * * root if [ -x /usr/share/slbackup/slbackup-cron -a -f /etc/slbackup/slbackup.conf ]; then /usr/share/slbackup/slbackup-cron ; fi
Wir nutzen nun einfach den Plattenplatz, der für slbackup schon angelegt wurde. In der
Etch Version ist dies:
/skole/backup wie auch schon in der
Sarge Version. Wir nutzen das so:
cp -a /var/lib/backuppc/* /skole/backup/
Damit sichern wir das, was BackupPC schon bei der Installation angelegt hat. Dann löschen wir (erst nach dem kopieren

:
rm -rf /var/lib/backuppc
Als letztes erstellen wir den symbolischen Link:
ln -s /skole/backup /var/lib/backuppc
Konfiguration von BackupPC
Nun die Anpassung von BackupPC an
DebianEdu. Hierzu wechseln wir mit
# cd /etc/backuppc in das Konfigurationsverzeichnis von BackupPC. Ein
# ls -al zeigt uns die dort liegenden Dateien.
tjener:/etc/backuppc# ls -al
insgesamt 143
drwxr-xr-x 2 root root 1024 2007-04-10 23:28 .
drwxr-xr-x 128 root root 8192 2007-04-10 16:53 ..
-rw-r--r-- 1 root root 414 2007-02-06 19:46 apache.conf
-rw-r--r-- 1 root root 64733 2007-04-10 23:28 config.pl
-rw-r--r-- 1 root root 64397 2007-02-06 19:46 config.pl.org
-rw-r--r-- 1 root root 2368 2007-04-10 22:33 hosts
-rw-r--r-- 1 root root 0 2007-04-10 10:00 htgroup
-rw-r--r-- 1 root root 23 2007-04-10 10:04 htpasswd
Im Einzelnen sehen wir da folgendes:
- apache.conf -- die Konfigurationsdatei des Apachen, die wir Anfangs schon verlinkt haben
- config.pl -- die systemweite Konfigurationsdatei von BackupPC
- config.pl.org -- die von mir bereits gesicherte originale Konfigurationsdatei von BackupPC
- hosts -- die Datei, in welcher wir die zu sichernden Hosts eintragen werden
- htgroup -- eine leere Datei, in der Benutzergruppen definiert werden können
- htpasswd -- die Passwortdatei für den Zugriff auf das Webinterface von BackupPC
config.pl
Diese Datei sollte erstmal, bevor wir sie mit unseren Einstellungen verändern durch
# cp -a config.pl config.pl.org kopiert werden, so dass wir später immer eine Referenz auf das Original haben
In dieser Datei werden nun die systemweiten Einstellungen vorgenommen, die für einen Einsatz von BackupPC auf einem tjener zunächst sinnvoll erscheinen.
Ich habe erstmal diese Einstellungen hier gewählt (womöglich muss man aber noch ein wenig Feintuning machen)
Meine Änderungen:
# to specify two pools (10.0.2.10-10.0.2.29 and 10.0.2.50-99)
$Conf{DHCPAddressRanges} = [
{
ipAddrBase => '10.0.2',
first => 10,
last => 29,
},
{
ipAddrBase => '10.0.2',
first => 50,
last => 99,
},
];
$Conf{BackupZeroFilesIsFatal} = 0;
$Conf{XferLogLevel} = 2;
$Conf{EMailAdminUserName} = 'root';
$Conf{EMailUserDestDomain} = '@intern';
$Conf{Language} = 'de';
Als nächstes erweitern wie die Datei
hosts um folgende Einträge, so dass BackupPC nun auch weiss, welche Maschinen es sichern soll:
host dhcp user moreUsers # <--- do not edit this line
...
tjener.intern 0 root # <--- mainserver
ltspserver00.intern 1 root # <--- first ltspserver
static00.intern 1 root # <--- first workstation client
Da der tjener sich selbst sichern soll, habe ich ihn mit einer eigenen Konfigurationsdatei versehen. Diese heisst erstmal
localhost.pl und liegt ebenfalls im Verzeichnis
/etc/backuppc. Um eine bestimmte Maschine anders als mit dem Systemstandard zu sichen, erstellt man einfach eine Konfigurationsdatei
config.pl und legt sie in den Sicherungspool der Maschine. Da dieser aber noch nicht existiert, erstellen wir ihn uns einfach mit:
# mkdir -p /skole/backup/pc/tjener.intern
Mit
# cd /skole/backup/pc/tjener.intern wechseln wir in dieses Verzeichnis und erzeugen dort mit z.B.
vim config.pl die gewünschte Datei. Diese füllen wir wie folgt diesem Inhalt:
#
# Local server backup of /etc and /skole/tjener as user root
#
$Conf{XferMethod} = 'rsync';
$Conf{RsyncShareName} = ['/etc', '/skole/tjener'];
$Conf{RsyncClientCmd} = '/usr/bin/sudo $rsyncPath $argList+ $shareName';
$Conf{RsyncClientRestoreCmd} = '/usr/bin/sudo $rsyncPath $argList+ $shareName';
Wie man daraus sehen kann, benutzen wir
rsync mit
sudo, um erstmal
/etc und
/skole/tjener zu sichern. Daraus folgt aber auch, dass wir
sudo noch einrichten und für
rsync eine Bibliothek nachinstallieren müssen, die nicht von BackupPC automatisch mitinstalliert wurde, da BackupPC standardmässig mit
tar arbeitet.
Also erstmal mit
# aptitude install libfile-rsyncp-perl das fehlende Paket nachinstallieren. Danach können wir nun mit
# visudo folgenden Eintrag zur Datei
/etc/sudoers hinzufügen (
und zwar nur so den Eintrag hinzufügen!).
backuppc ALL=NOPASSWD: /usr/bin/rsync --server --sender *
So, das sollte es nun erstmal mit der Konfiguration gewesen sein. Starten wir also noch mit
# /etc/init.d/backuppc start die Serverprozesse von BackupPC.
Backup und Restore
Jetzt wird es spannend. Nun wollen wir auch sehen, was BackupPC für uns tun kann. Wir melden uns also erstmal am Webinterface an. Dies kann von dem tjener aus erfolgen, wenn er das Arbeitsstations- oder Terminalserverprofil installiert hat, oder von einem Client im Netz. Wir richten unseren Browser also auf
http://tjener.intern/backuppc und melden uns bei der nun erscheinenden Benutzeranmeldung mit dem Benutzer: "backuppc" und dem bei der Installation von BackupPC vergebenen Passwort an. (Sie hatten es ja exakt notiert, bzw. auswendig gelernt, oder?)
Vor uns tut sich nun die Welt von BackupPC auf. Das erste was wir da machen ist, wir drücken auf der Linken Seite auf den Link:
Dokumentation
Nachdem wir diese gelesen und verstanden haben, erklärt sich der Rest wie von alleine. Darum hört diese Einführung hier auch auf
Sicherheit
Es wird
unbedingt empfohlen, dies zu lesen:
http://backuppc.sourceforge.net/faq/security.html (Es ist zwar auf Englisch, aber das sollten sie sich als Admin eines tjener mal antun!)
Testen und Probieren
Was ich aber auf jeden Fall zumindest noch erwähnt haben wollte ist, dass Sie
Testen und
Probieren müssen. Also Backups erstellen, die Dateien löschen, und ganz wichtig, Sie müssen sie auch wiederherstellen können. Üben Sie dies, überprüfen sie dabei alle Funktionalitäten, passen sie das System nach ihren Bedürfnissen weiter an und geniessen Sie dann
NICHT die Sicherheit eines guten Backupsystems. Beobachten Sie es weiter und schauen sie nach Unregelmässigkeiten, lesen sie Logfiles, um immer Bescheid über ihre Daten zu wissen.
So, das wars!
PS: ... wie man ein Passwort für das Login von BackupPC ändert? Ja, wie immer bei htpasswd. (# man htpasswd hilft auch hier

)
# htpasswd /etc/backuppc/htpasswd backuppc