[[Vorlage(Getestet,hardy,intrepid,jaunty,karmic)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen:] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:sudo: Root-Rechte] [:Cron: automatisch Skripte und Programme zu vorgegebenen Zeiten starten] }}} [[Inhaltsverzeichnis(2)]] [[Bild(./logo.png, 64, align=left)]] [http://www.dirvish.org/ dirvish] {en} ist ein auf [:rsync:] und [:SSH:ssh] aufsetzendes Programm, das Backups von entfernten Rechnern und Laufwerken erstellt, aber auch von lokalen Medien und Ordnern. Einer der Vorteile gegenüber "großen" Backup-Lösungen wie z.B. [http://www.bacula.org/ Bacula] {en} ist, dass es vergleichsweise schnell und unkompliziert einzurichten und zu administrieren ist. Dirvish kommt ohne graphische Benutzeroberfläche aus und erzeugt in jeweiligen Zielverzeichnis Snapshots der zu sichernden Quelle. Es eignet sich hervorragend als Backuplösung in kleinen "Rechenzentren" mit überwiegend Linux-Systemen. Windows-Systeme lassen sich zwar ebenfalls sichern, jedoch nur unverschlüsselt via [:Samba:] ("`rsync`" muss dann mittels [http://www.cygwin.com/ Cygwin] {en} bereitgestellt werden). Weitere Programme sind im Artikel [:Sicherheit#Sicherungskopien:] zu finden. = Installation = == Voraussetzungen == Auf den zu sichernden Systemen wird [:rsync:] und [:SSH:ssh] benötigt. == Paketquellen == Die Installation erfolgt über das Paket [1]: * '''dirvish''' (''universe'', [2]) = Konfiguration = Die zentrale Konfigurationsdatei auf dem Backup-Server ist die Datei '''/etc/dirvish/master.conf'''. Des Weiteren gibt es noch einzelne Konfigurationsdateien für die jeweiligen Backup-Jobs, dazu aber später. Hier ein Beispiel: {{{ bank: # /backup/dirvish/server /backup/dirvish/laptop # /backup/dirvish/firewall exclude: lost+found/ proc/ core Runall: # serverroot 03:00 # serverboot 03:00 # serverhome 03:00 # serveropt 03:00 # serverspare 03:00 # laptoproot 03:00 laptophome 12:00 # laptopopt 03:00 # laptopspare 03:00 # firewallroot 03:00 # firewallboot 03:00 expire-default: never # keep the sunday backups forever, the dailies for 3 months expire-rule: # MIN HR DOM MON DOW STRFTIME_FMT * * * * * +3 months * * * * 1 never #pre-server: /usr/local/sbin/dirvish-pre #post-server: /usr/local/sbin/dirvish-post }}} Zur Erläuterung dient die nachfolgende Tabelle: ||<-2 tablestyle="width: 75%;" rowclass="titel"> Optionen || || Abschnitt || Beschreibung || ||`bank:`|| Speicherort des Backups || ||`exclude:`|| globale Ausnahen || ||`Runall:`|| regelmäßige Sicherung || ||`expire-default:`|| Standard-Aufbewahrungszeit der Backups || ||`expire-rule:`|| Aufbewahrungsregeln || ||`pre- und post-:`|| Skripte vor und nach dem Backup ausführen || = Benutzung = Für den Anfang soll erstmal nur das [:Homeverzeichnis:] eines Laptops gesichert werden. Die Bezeichnung (engl. "Vault" oder Tresor) `laptophome` dient zur Identifikation. Die Verzeichnisse und Konfigurationsdateien werden auf dem Backup-Server von Hand angelegt[3][4][5]: {{{#!vorlage Befehl sudo mkdir -p /backup/dirvish/laptop/laptophome/dirvish }}} In diesem Verzeichnis wird die Konfigurationsdatei '''/backup/dirvish/laptop/laptophome/dirvish/default.conf''' für dieses Vault erstellt: {{{ client: laptop tree: /home xdev: true index: gzip image-default: %Y%m%d exclude: flobian/download }}} Damit wird vom Client (der Laptop) die Partition bzw. der Ordner '''/home''' mit '''.gzip'''-Komprimierung in separate Verzeichnisse im Format `YYYY-MM-TT` gesichert werden. Nicht gesichert werden soll das Verzeichnis '''/home//download'''. Vor dem ersten Backup muss das Vault initialisiert werden: {{{#!vorlage Befehl dirvish --vault laptophome --init root@laptop's password: }}} Der Client muss über den angegebenen Namen im Netzwerk erreichbar sein. Um nicht jedes mal ein Kennwort eingeben zu müssen, sollte die [:SSH#Authentifizierung-ueber-Public-Keys:Authentifizierung über Public-Keys] eingerichtet werden. Nach der Initialisierung - die je nach Menge der Daten eine Weile dauert - wird das Vault nun bei jedem "`dirvish-runall`" gesichert. Allerdings nur einmal pro Tag - nach vorgegebenen Zeitplan in der '''/etc/dirvish/master.conf'''. == Automatische Sicherung == Eine Datensicherung, die nicht regelmäßig durchgeführt wird, hat nicht viel Wert. Die Version von dirvish aus den offiziellen Paketquellen installiert standardmäßig einen Cron-Job [6] für eine tägliche Sicherung um 22:04 Uhr: {{{#!vorlage Befehl cat /etc/cron.d/dirvish }}} {{{ # /etc/cron.d/dirvish: crontab fragment for dirvish # run every night 4 22 * * * root /etc/dirvish/dirvish-cronjob }}} Dieser Cronjob führt ein "`dirvish-expire`", gefolgt von "`dirvish-runall`", aus. Falls der Mountpoint '''/backup''' nicht gemountet ist, wird das vorher (''automatisch'') versucht. {{{#!vorlage Warnung Löschen ("`dirvish-expire`") und Erstellen einer neuen Sicherung ("`dirvish-runall`") dürfen sich auf keinen Fall überschneiden! Beide Jobs brauchen nicht nur sehr viel Rechenzeit, sondern müssen auch mit zeitlich ausreichenden Abstand geplant werden. }}} == Backups kontrollieren == Besonders nach dem Einrichten, aber auch danach sollte immer wieder kontrolliert werden, ob das Backup noch regelmäßig automatisch durchgeführt wird. Im Vault Ordner sehen die Backups dann so aus: {{{ $ ls -al /backup/dirvish/laptop/laptophome insgesamt 20 drwxr-xr-x 5 root root 4096 11. Jan 11:25 . drwxr-xr-x 5 root root 4096 7. Jan 14:27 .. drwxr-xr-x 3 root root 4096 7. Jan 14:23 20100107 drwxr-xr-x 3 root root 4096 8. Jan 22:04 20100108 drwxr-xr-x 2 root root 4096 7. Jan 14:23 dirvish }}} Da nur einmal alle Daten kopiert werden und bei den folgenden Kopien nur die Änderungen Platz verbrauchen, sind alle folgenden Kopien kleiner, es wird aber trotzdem mittels das vollständige Dateisystem in den Ordner '''20100108''' und folgende abgebildet. {{{ $ du -sch /backup/dirvish/laptop/laptophome/* 14G /backup/dirvish/laptop/laptophome/20100107 613M /backup/dirvish/laptop/laptophome/20100108 12K /backup/dirvish/laptop/laptophome/dirvish 15G insgesamt }}} Anhand der Verzeichnisse und ihrer Größe kann das korrekte Backup geprüft werden. Nach diesem Beispiel mit "`laptophome`" können jetzt weitere Partitionen von "`laptop`" oder anderen Rechnern analog konfiguriert werden. = Links = * [http://www.dirvish.org/ Projektseite] {en} * [http://www.dirvish.org/debian.howto.html Debian Howto] {en} * [http://doku.corvent.ch/doku.php/linux/ubuntu/backup Datensicherung] {de} mittels "`rsync`" und "`dirvish`" * [:Sicherheit#Sicherungskopien:Sicherungskopien] - Übersichtsartikel ---- #tag: Backup, Netzwerk, System, Sicherheit, Shell