OPT_SARFile - Save  And  Restore  Files and  directories Valid XHTML 1.0


Dieses Opt dient dazu, Dateien und Ordner vor einem Neustart bzw. Herunterfahren aus dem Hauptspeicher (insbes. Ramdisk) auf einem nicht-flüchtigen Speicher (Festplatte, CF, ...) zu sichern und beim Hochfahren von dort wieder in den Hauptspeicher zu laden.
Dies ist v.a. für Nutzer einer CompactFlash-Karte interessant, da auf diese Weise allzu viele Schreibzugriffe vermieden werden können und bestimmte Daten dennoch einen Neustart überleben.

Dieses Dokument bietet folgende Informationen:

Lizenz:

Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation herausgegeben, weitergeben und/oder modifizieren; entweder unter Version 2 der Lizenz oder (wenn Sie es wünschen) jeder späteren Version.
Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben (/src/sarfile/gpl.txt). Der Text der GNU General Public License ist auch im Internet unter
http://www.gnu.org/licenses/gpl.txt veröffentlicht.
Eine inoffizielle deutsche Übersetzung findet sich unter http://www.gnu.de/gpl-ger.html. Diese Übersetzung soll nur zu einem besseren Verständnis der GPL verhelfen; rechtsverbindlich ist alleine die englischsprachige Version.

Gewährleistungs- und Haftungsausschluss:

Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es Ihnen von Nutzen sein wird, aber ohne jegliche Gewährleistung - sogar ohne die implizite Gewährleistung der Marktreife oder der Eignung für einen bestimmten Zweck. Details finden Sie in der GNU General Public License (GPL).
Für Datenverlust, Schäden an Hard- oder Software oder sonstige Schäden übernehme ich keinerlei Haftung.

Installation:

Konfiguration:

OPT_SARFILE='no' # 'yes' - enables this opt

'yes' aktiviert dieses Opt

SARFILE_WAIT_BOOT='X' # wait x seconds before reboot/halt

Gibt die Pause in Sekunden an, die bis zum Fortsetzen des Reboot gewartet wird, damit die Dateien auch bei langsamen Floppys noch gespeichert werden können.

SARFILE_N='0' # how many files/directories shall be stored and restored?

Gibt an, wie viele Dateien bzw. Verzeichnisse gesichert werden sollen.

SARFILE_X_FILE='<PATH>' # the Xth file or dir to be stored/restored

Hiermit gibt man an, welche Datei bzw. welches Verzeichnis gesichert werden soll. Hierbei hat man folgende Möglichkeiten:

SARFILE_X_SAVETO='<PATH>' # the destination where file/dir X will be stored

Hier wird das Verzeichnis auf einem persistenten Speichermedium angegeben, in dem die Datei bzw. das Verzeichnis gesichert werden sollen.

Beispiele:

      # Das Verzeichnis /var/log/accounting soll mitsamt Inhalt in das Verzeichnis
      # /data/sarfile/accounting gesichert werden.
      SARFILE_1_FILE='/var/log/accounting'
      SARFILE_1_SAVETO='/data/sarfile/accounting'
      SARFILE_1_RECURSIVE='yes'

      # /var/log/imond.log soll in das Verzeichnis /data/sarfile/imond gesichert werden
      SARFILE_2_FILE='/var/log/imond.log'
      SARFILE_2_SAVETO='/data/sarfile/imond'

      # alle Dateien und leeren Verzeichnisse, die mit '/var/run/chrony.'
      # beginnen, sollen in das Vezeichnis /data/sarfile/chrony gesichert werden.
      SARFILE_3_FILE='/var/run/chrony.*'
      SARFILE_3_SAVETO='/data/sarfile/chrony'

      # Das *leere* Verzeichnis /var/run/beispiel soll in das Verzeichnis
      # /data/sarfile/ziel gesichert werden
      SARFILE_4_FILE='/var/run/beispiel'
      SARFILE_4_SAVETO='/data/sarfile/ziel'
SARFILE_N_RECURSIVE='yes' # only valid for dirs: recursion yes/no (default: no)

Diese Option gilt nur für Verzeichnisse. Wird sie auf 'yes', gesetzt, so wird das zugehörige Verzeichnis rekursiv kopiert, d.h. dass auch dessen kompletter Inhalt gesichert und wiederhergestellt wird.
Diese Option kann (v.a. bei Dateien) komplett weggelassen werden.

SARFILE_DO_DEBUG='no' # 'no' disables debug output of the restore-script

'no' deaktiviert eine ausführlichere Ausgabe des Skripts, das beim Hochfahren ausgeführt wird. - Diese Meldungen können entweder an der Konsole oder im Fli4l-Bootlog verfolgt werden.
Diese Option kann komplett weggelassen werden, wenn die Debug-Ausgaben benötigt werden oder auf 'yes' gesetzt werden.

Danksagungen:

Folgenden Personen haben an diesem Opt mitgewirkt und sollen daher auch nicht unerwähnt bleiben:

Geplante Erweiterungen:

  1. Nur geänderte Dateien sollen gesichert werden.
    Dazu wird es nötig sein, die Größe und das letzte Änderungsdatum der Dateien zu überprüfen. - Auch muss statt 'cp -a' das rekursive Kopieren händisch implementiert werden.
  2. Es sollen feste Zeitpunkte bzw. Intervalle für Dateisicherungen angegeben werden können, die dann mit Hilfe von cron ausgeführt werden.
    Dazu muss noch eine Möglichkeit eingebaut werden, mit der es möglich ist, Lock-Dateien zu berücksichtigen. Es wird voraussichtlich nur einfaches Locking unterstützt werden:
    Wenn die angegebene Lock-Datei existiert, wird nicht gesichert.
  3. Es wäre schön, wenn man die Dateien auch per SCP auf einen entfernten Rechner übertragen und von dort wiederherstellen könnte.
    Voraussetzung dafür wäre wohl ein SSH-Client auf dem Fli4l.
    Was passiert, wenn der Remote-Rechner bei einem Save/Restore nicht verfügbar ist? -> *Alptraum* :(

Feedback:

Bitte schreibt mir, wenn ihr Probleme mit diesem Opt habt oder Wünsche und Anregungen loswerden wollt.
Besonders gerne sind natürlich zufriedene Rückmeldungen gesehen ;-)

Viel Spaß mit SARFile wünscht Euer
Michael Wenger