Bfbackup - Perlscripte zum Archivieren von Dateien

Aus Federau Wiki 2.0

Wechseln zu: Navigation, Suche

bfbackup, bfmysqldump, bfcleanup - sind die Skripte die das Archivieren von Dateien, Verzeichnissen und Datenbanken unter einem Linux System vereinfachen sollen.

vorläufige Dokumentation!!!

Inhaltsverzeichnis

Installationspfade

  • Executables: /usr/local/sbin
  • Konfigurationsdateien: /etc/bfbackup
  • Logfiles: /var/log/bfbackup
  • Hilfsskripte: /usr/local/lib
  • Verzeichnis für Archive: /ccidt/backup

Mögliche Backupstrategie

  • Monatlich ein Vollbackup aller zu sichernden Verzeichnisse, danach täglich inkrementelle Backups (jeweils die Differenz zum letzten Vollbackup). Inkrementelle Backups, die älter als eine Woche und nicht an einem Freitag erstellt worden sind, werden verworfen. Auf diese Weise kann die jeweils letzte Woche tagesaktuell wiederhergestellt werden, Zustände davor wochenaktuell.

Konfiguration

  • backup.conf: In dieser Konfigurationsdatei werden die globalen Einstellungen vorgenommen, die für die Backupskripte notwendig sind. Zum Beispiel die Pfade, die Dateiendungen für die Archive sowie Log-Dateien, Datenbank-, Mail- und Tapeparameter.
  • backup.lst: In dieser .lst Datei werden die Targets für die Backups angegeben. Die Syntax für ein Target besteht aus einer aussagekräftigen Bezeichnung für das Backup und dem zu sichernden Verzeichnis getrennt durch zwei Doppelpunkte. Jedes Target muss in einer eigenen Zeile stehen, leere Zeilen werden ignoriert. Darüberhinaus können beliebig viele Targets in dieser Datei definiert werden. Kommentare beginnen mit #.
    Beispiel: home_benny::/home/benny/
  • db.lst: Dies ist die .lst Datei für die Datenbankdumps. Es müssen nur die zu sichernden Datenbanknamen in diese Datei eingetragen werden. Auch hier müssen die Datenbanknamen in einer eigenen Zeile stehen und auch leere Zeilen werden ignoriert. Kommentare beginnen mit #.
  • exclude.lst: Für Verzeichnisse die nicht in ein Backup integriert werden sollen, steht diese .lst Datei zur Verfügung. Es muss nur der Name des Verzeichnisses eingetragen werden, der nicht mit ins Backup aufgenommen werden soll, also keine Pfadangabe. Wie schon bei den anderen .lst Dateien gelten hier die gleichen Regeln, eigene Zeile, leere Zeilen werden ignoriert, Kommentare beginnen mit #.

Anmerkung: Es ist notwendig, zumindest die erste Konfigurationsdatei, vor dem ersten Start von bfbackup anzupassen.

Benutzung

bfbackup [<backupName>|all] [full|inc]
  • Sichert definierte Targets (Verzeichnisse) in Archivdateien als Vollbackup oder als inkrementelles Backup.
  • Parameter
    • <backupName>: wird als Target in der backup.lst mit dem dazugehörigen Verzeichnis, getrennt durch zwei Doppelpunkte definiert (z.B.: webserver::/apache/htdocs/). Es wird dann auch nur dieses eine Backup durchgeführt oder
    • all: wird benutzt um alle definierte Backups durchzuführen.
    • full: führt ein Vollbackup durch oder
    • inc: führt ein inkrementelles Backup durch.
bfmysqldump [<dbName>|all]
  • Sichert definierte Datenbanken in .sql Dateien (mysqldump).
  • Parameter
    • dbName: wird als Target in der db.lst definiert. Es wird dann auch nur diese eine Datenbank gesichert oder
    • all: wird benutzt um alle definierten Datenbanken zu sichern.
bfcleanup
  • Löscht inkrementelle Backups, die älter als eine Woche und nicht an einem Freitag erstellt worden sind.


ToDo/Erweiterungen/Verbesserungen

  • Meta-Targets für die *.lst-Konfigurationsdateien, d.h. man kann Targets definieren, die andere Targets beinhalten und so gruppenweise Backups definieren (z.B. "home" als Target für alle einzelnen Home-Verzeichnisse).
  • Löschen von Voll- und inkrementellen Backups, die älter als 2 Monate sind.

Download

Demnächst als Download unter http://www.federau.org

Persönliche Werkzeuge