ISiBackup Daniel Lutz <daniel.lutz@imsec.ch> 14.07.2005
Features Backup-System für Linux- und Unix-Umgebungen Backup von Daten auf Festplatte Vollständige und differentielle Backups Komprimierung Verschlüsselung Definition von "Sets" Push/Pull auf/von Remote-System (ftp, rsync/ssh) Logging Einfache Bedienung
ISiBackup Entwickelt bei IMSEC GmbH Autoren: Marcus Holthaus <marcus.holthaus@imsec.ch> Simon Hürlimann <simon.huerlimann@imsec.ch> GPL Produktiver Einsatz bei IMSEC Paketisiert für Debian Eintwickelt hauptsächlich für eigene Verwendung auf Debian-Systemen Teil der ISi-Software-Sammlung (ISi: InformationsSicherheit)
Installation Auf einem Debian-System mittels APT Nur noch wenig Konfiguration notwendig Generierung GPG-Keys für Verschlüsselung Auf anderen Systemen mit etwas mehr Aufwand (manuelle Installation und Konfiguration; libisi und isitools notwendig)./configure; make; make install Konfiguration ISiBackup Konfiguration Cron
Konfiguration Mit Basiskonfiguration bereits verwendbar Vordefinierte Sets Funktionierende Default-Konfiguration Aktivierung/Anpassung der Cron-Jobs für Automatisierung (regelmässige Backups)
Konfiguration Haupt-Konfiguration: /etc/isibackup/isibackup.conf Sets: /etc/isibackup/<set name>/ set.conf include_dirs.lst, include_files.lst (Shell-Patterns) exclude_dirs.lst, exclude_files.lst (Regular Expressions) Cron: /etc/cron.d/isibackup
Anwendung Lokales Backup erstellen: isibackup --backup --full --set data_linux Differentielles Backup erstellen: isibackup --backup --diff --set data_linux Automatische Erstellung eines Fullbackups, falls noch keines existiert Bestehendes Backup auf remote System speichern: isibackup --copy --full --set data_linux Backup von remote System lokal speichern: isibackup --collect --full --set data_linux
Anwendung Daten wiederherstellen isirestore --source-dir <dir> --target-dir <dir> Eingabe GPG-Passphrase, falls verschlüsselt Vorhandene Backups anzeigen isibus
Backup-Typen Fullbackup (--full) Alle Dateien werden gesichert Bisheriges Fullbackup wird überschrieben Differential Backup (--diff) Nur Dateien, die seit dem letzten Fullbackup geändert haben, werden gesichert Falls kein Fullbackup besteht, wird stattdessen ein Fullbackup erstellt
Beispiele von Sets Daten auf einem Linux-System sichern /boot/, /etc/, /home/, /root/, /usr/src/, /var/ (ohne /usr/src/kernel-source-*.tar.bz2) Komplettes Linux-System sichern alles (mit einigen Ausnahmen) Windows-Daten sichern (/mnt/win)
Automatisches Backup /etc/cron.d/isibackup: Daten # data in linux system # first day of month, 03:00 0 3 1 * * root isibackup --full --backup --set data_linux # daily, 19:59 59 19 * * * root isibackup --diff --backup --set data_linux Komplettes System # linux system itself # first day of month, 02:30 30 2 1 * * root isibackup --full --backup --set host_linux # daily, 20:59 59 20 * * * root isibackup --diff --backup --set host_linux
Verzeichnisstruktur Erhaltung der Verzeichnisstruktur, Zusammenfassung der Dateien Verzeichnishierarchie wird kopiert Dateien pro Verzeichnis werden zu einem Archiv zusammengefasst (evtl. mehrere, falls Datei zu gross wird)
Verzeichnisstruktur Vorteile: Keine grossen Dateioperationen notwendig Backup kann auf gleichem Dateisystem-Typ wie Original gespeichert werden (keine Unterstützung von grossen Dateien notwendig wenn für Original nicht benötigt) Backup-Daten können einfach aufgeteilt werden Restore kann auch ohne ISiBackup erfolgen (Entpacken des benötigten Archivs)
Funktionsweise Verzeichnisauswahl Suche aller Verzeichnisse mit find, Berücksichtigung der Shell-Patterns in include_dirs.lst Filterung mit grep gemäss exlude_dirs.lst Dateiauswahl Suche der Dateien mit find (-newer ${Date} bei differential Backup) Collection Filterung der Dateien gemäss include_files.lst und exclude_files.lst Archivierung aller Dateien (tar, cpio, etc.). Falls eine Datei zu gross ist, Archivierung der einzelnen Datei
Funktionsweise Compression Komprimierung (gz, bzip2, zip, etc.) Encryption Verschlüsselung (falls konfiguriert)
Implementation Bash-Scripts Verwendung von Standard-Tools (find, tar, gz, rsync, etc.)
Download http://www.isibackup.org --> download ISiBackup ist als Debian-Paket verfügbar APT: deb http://www.isibackup.org/debian/ unstable/ Sourcecode: http://www.isibackup.org/debian/unstable Pakete: isibackup, isitools, libisi
Entwicklung Einige nützliche Features fehlen noch, aber im Wesentlichen komplett (bewährt im praktischen Betrieb) Mithilfe bei Weiterentwicklung erwünscht Mailingliste auf http://www.isibackup.org Kontakt: Daniel Lutz <daniel.lutz@imsec.ch>