In diesem Wiki ist Mail-Verarbeitung nicht eingeschaltet. Bitte kontaktieren Sie den Eigentümer des Wikis, der die Mailfunktionen einschalten kann.

Nachricht löschen

Backups mit BackupPC bei PING

Das backuppc Passwort ist im Homedir des Root Users auf blackhole:

/root/backuppc_password.txt

BackupPC ist für die Benutzung von rsync über ssh eingerichtet.

Web-Interface

Das Web-Interface läuft auf blackhole.buero.ping.de, aus technischen Gründen ist dieses allerdings nicht direkt von Außen erreichbar. Stattdessen muss ein SSH-Tunnel aufgebaut werden. Die passenden Einträge in der SSH-Konfiguration ~/.ssh/config können z.B. so aussehen:

Host blackhole
    Hostname buero.dyna.ping.de
    User bodo
    Port 4223
    UserKnownHostsFile ~/.ssh/known_hosts.buero
    CheckHostIP no
    LocalForward 8888 localhost:80

Nach erfolgreichem Login kann dann auf das Web-Interface unter http://localhost:8888/backuppc zugegriffen werden.

Client-Setup

Auf dem Client (System, das gesichert werden soll) muss lediglich rsync installiert und SSH eingerichtet werden.

rsync

apt-get install rsync

ssh

BackupPC nutzt rsync über ssh. Dazu muss auf dem zu sichernden System das Login als root für den BackupPC-User (backuppc erlaubt sein.

ssh-forced-commands

Da es nicht die beste Idee ist, ein interaktives Login für einen unprivilegierten Systemuser als root auf einem anderen System zu erlauben wird der forced-command-Mechanismus von OpenSSH verwendet.

Hierzu wird das Skript /usr/local/sbin/ssh-backuppc-forcedcmd angelegt, mit diesem Inhalt:

use strict;
use POSIX;

delete($ENV{PATH});

my $origcmd = $ENV{'SSH_ORIGINAL_COMMAND'};

if (!defined($origcmd) || $origcmd eq "") {
        print "You're not allowed to do so! And you would have to give a command!\n";
        exit 1;
}

open(L, ">>/tmp/backuppc_commands") or die "Cannot open command list output!\n";
print L ctime(time()) . "$origcmd\n";

if ($origcmd =~ m/^\/usr\/bin\/rsync --server --sender --numeric-ids --perms --owner --group -D --links --hard-links --times --block-size\=2048 --recursive --ignore-times . \/$/) {
        exec "/usr\/bin\/rsync --server --sender --numeric-ids --perms --owner --group -D --links --hard-links --times --block-size=2048 --recursive --ignore-times . /";
} elsif ($origcmd =~ m/^\/usr\/bin\/rsync --server --sender --numeric-ids --perms --owner --group -D --links --hard-links --times --block-size\=2048 --recursive . \//) {
        exec "/usr/bin/rsync --server --sender --numeric-ids --perms --owner --group -D --links --hard-links --times --block-size=2048 --recursive . /";
} else {
        print "You're not allowed to do so! - $origcmd\n";
}
close(L);

ssh-Schlüssel

In /root/.ssh/authorized_keys wird der öffentliche Schlüssel das BackupPC-Users eingetragen:

command="/usr/local/sbin/ssh-backuppc-forcedcmd" ssh-rsa AAAAB3NzaC1yc2EAAAADAQA...

Der vollständige öffentliche Schlüssel findet sich auf blackhole in ~backuppc/.ssh/id_rsa.pub.

BackupPC-Setup

Um weitere Maschinen zum Backup hinzuzufügen ist folgendes notwendig:

  1. Eine Datei /etc/backuppc/_HOSTNAME_.pl anlegen, in der spezifischere Config-Optionen angegeben sind. Mindestens die Exclude Liste, da sonst mitunter viele ungewünschte Dateien gesichert werden - besonders uncool auf dem Backup-Server selber.. ;-)

  2. Den Host entweder per Hand oder über das Webinterface in die Hosts Datei

    /etc/backuppc/hosts eintragen (_HOSTNAME_ muss auf die vorher angelegte Config Datei passen). Der "User" der dort gemeint ist, ist der User, der für diesen Host das Backup steuern / verändern / starten kann

  3. Entweder manuell über das Webinterface ein Backup starten oder bis zum nächsten "Wakeup" warten, bis BackupPC von alleine ein Backup startet.

BackupPC-Betrieb

BackupPC sichert dann alle Dateien des Servers und speichert diese in dem Backup-Verzeichnis (/srv/backup). Wenn man aus versehen zuviel gesichert hat, kann man die Dateien entweder in /srv/backup/backuppc/pc/_HOSTNAME_ löschen oder das gesamte Verzeichnis löschen. WICHTIG: Dabei wird nicht sofort Platz frei sondern üblicherweise erst, wenn Nachts der "Deduplication-Light" Job läuft.

Restore

Ein Restore kann man recht entspannt über das Webinterface durchführen. Das läuft dann auch über rsync.