<> = 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: {{{ #!/usr/bin/perl -Tw 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. == Links == * [[http://backuppc.sourceforge.net/|BackupPC Projektseite]] * [[http://backuppc.sourceforge.net/faq/BackupPC.html|BackupPC Online-Dokumentation]]