[[Vorlage(Getestet, lucid, maverick)]] {{{#!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 Backup-Lö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 und Grundsätzliches ist im Artikel [:Datensicherung:] zu finden. = Installation = == Voraussetzungen == Auf den zu sichernden Systemen wird [:rsync:] und [:SSH:ssh] benötigt. == Paketquellen == Die Installation erfolgt über das Paket [1]: {{{#!vorlage Paketinstallation 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 #speed-limit: 10 }}} Zur Erläuterung dient die nachfolgende Tabelle: ||<-2 tablestyle="width: 75%;" rowclass="titel"> Optionen || || Abschnitt || Beschreibung || ||`bank:`|| Speicherort des Backups || ||`exclude:`|| globale Ausnahmen || ||`Runall:`|| regelmäßige Sicherung || ||`expire-default:`|| Standard-Aufbewahrungszeit der Backups || ||`expire-rule:`|| Aufbewahrungsregeln || ||`pre- und post-:`|| Skripte vor und nach dem Backup ausführen || ||`speed-limit:`|| Maximale Übertragungsgeschwindigkeit der Sicherung festlegen. Die Einheit ist Megabit pro Sekunde. Ist auch bei lokaler Sicherung sinnvoll, um auf dem Rechner flüssig arbeiten zu können. || = Benutzung = Für den Anfang soll erst einmal 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''' in separate Verzeichnisse im Format `YYYY-MM-TT` gesichert. Nicht gesichert werden soll das Verzeichnis '''/home//download'''. Der Index des gesicherten Snapshots wird dabei mit [:gzip:] komprimiert. 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 '''/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 ggf. sehr viel Rechenzeit, und müssen daher 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: {{{#!vorlage Befehl ls -al /backup/dirvish/laptop/laptophome }}} Ausgabe: {{{ 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. {{{#!vorlage Befehl du -sch /backup/dirvish/laptop/laptophome/* }}} Ausgabe: {{{ 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 entsprechend 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`" * [http://wiki.edseek.com/howto:dirvish dirvish Guide] {en} - weitere Anleitung * [:Datensicherung:] {Übersicht} Übersichtsartikel #tag: Backup, Netzwerk, System, Sicherheit, Shell, Server