next up previous contents
Nächste Seite: storeBackupUpdateBackup.pl Aufwärts: storeBackup.pl Vorherige Seite: storeBackup.pl   Inhalt


storeBackup.pl Optionen

Die folgenden Optionen können auf der Kommandozeile und in der Konfigurationsdatei verwendet werden (siehe Kapitel 7.1). Für die Kommandozeile existiert eine lange Version (wie --sourceDir), manchmal auch eine kurze (wie -s), sowie die Bezeichnung, die in der Konfigurationsdatei verwendet wird (wie sourceDir). Optionen, die ausschließlich auf der Kommandozeile aufgerufen werden können, sind im vorigen Kapitel 6.2 beschrieben.

--sourceDir / -s / sourceDir
Pfad zum Verzeichnis, welches gesichert werden soll. Es kann nur ein Verzeichnis mit storeBackup.pl gesichert werden. Wenn Du mehr als ein Verzeichnis sichern willst, können die Optionen --includeDirs, --exceptDirs oder das komfortablere, empfohlene und unten beschriebene --followLinks verwendet werden.
--backupDir / -b / backupDir
Das Backup-Verzeichnis, in dem alle Deine Sicherungen gespeichert werden. Falls Du nur eine Serie von Backups (z.B. von einem Computer) hast, wird dieses wahrscheinlich identisch mit dem Verzeichnis sein, in dem Deine Backups sind. In diesem Fall sollte die als nächstes beschriebene Option (series) auf `.`` gesetzt werden. Beispiel:
backupDir = /backup
series = .
Dann sieht man die Backups direkt in /backup:
$ ls -l /backup
drwxr-xr-x 14 root root 528 Aug 24 21:33 2008.08.22_02.18.43
drwxr-xr-x 14 root root 528 Aug 24 21:33 2008.08.23_02.01.11
drwxr-xr-x 14 root root 528 Aug 24 21:33 2008.08.24_02.03.51
drwxr-xr-x 14 root root 528 Aug 24 21:33 2008.08.24_13.04.55

Falls sich in Deinem Backup-Verzeichnis unterschiedliche „Serien`` befinden, wirst Du unterschiedliche Unterverzeichnisse für diese unterschiedlichen Backup-Serien (die vielleicht von unterschiedlichen Computern stammen) erzeugen und series passend zu diesen Verzeichnisnamen einstellen. Lass uns annehmen, dass Du drei unterschiedliche Rechner sichern willst; „bob``, „joe`` and „bill``. In diesem Fall könnten drei unterschiedliche Verzeichnisse erzeugt werden:
$ ls -l /backup
drwxr-xr-x 2 root root 40 Aug 25 17:02 bill
drwxr-xr-x 2 root root 40 Aug 25 17:02 bob
drwxr-xr-x 2 root root 40 Aug 25 17:02 joe
Unterhalb dieser Verzeichnisse findest Du die individuellen Backups für „bill``, „bob`` und „joe``. Für „bill`` stellst Du z.B. ein:
backupDir = /backup
series = bill
Dann siehst Du Deine Backups in /backup/bill:
$ ls -l /backup
drwxr-xr-x 11 root root 432 Aug 24 21:33 2008.08.20_02.18.25
drwxr-xr-x 11 root root 432 Aug 24 21:33 2008.08.21_02.11.53
drwxr-xr-x 11 root root 432 Aug 24 21:33 2008.08.22_02.36.18
drwxr-xr-x 11 root root 432 Aug 24 21:33 2008.08.23_02.17.18
drwxr-xr-x 11 root root 432 Aug 24 21:33 2008.08.24_02.15.45
drwxr-xr-x 11 root root 432 Aug 24 21:33 2008.08.24_13.17.21
--series / -S / series
Siehe auch Option backupDir oben.
Der Standardwert für series ist „default``. Um eine bestehende Serie umzubennnen, ist Folgendes zu tun:
--tmpdir / -T /tmpdir
Verzeichnis für temporäre Dateien, der Wert wird von der Umgebungsvariablen $TMPDIR übernommen. Falls diese nicht gesetzt ist, wird /tmp als Standardwert genommen.
--lockFile / -L / lockFile
storeBackup.pl verwendet eine Lock-Datei, um mehrfach laufende Instanzen zu verhindern. Der Standardname für diese Lock-Datei ist /tmp/storeBackup.lock.
Die verwendeten Lock-Dateien sind nicht für die Verwendung von storeBackupUpdateBackup.pl und storeBackup.pl oder anderen storeBackup Programmen in unterschiedlichen PID14 Namensräumen gedacht. Wenn Du Lock-Dateien über Rechnergrenzen hinweg nutzen willst, solltest Du Deine eigene Lösung bauen oder einen „Enterprise Job Scheduler`` verwenden.
--unlockBeforeDel / unlockBeforeDel
Lösche die Lock-Datei vor dem Löschen von alten Backups. Standard ist, die Lock-Datei nach dem Löschen von alten Sicherungen zu entfernen. Dieses „verkürzt`` die Backupzeit in gewissem Maße.
--exceptDirs / -e / exceptDirs
Du kannst eine Liste von Verzeichnissen angeben, die aus dem Backup ausgeschlossen werden. Es muss ein relativer Pfad angegeben werden, und zwar von dem Verzeichnis, das mit Option sourceDir angegeben wurde. Du kannst auch Wildcards verwenden. Ein Beispiel: Wenn alle User unterhalb von sourceDir/home angesiedelt sind und Du willst den Ordner tmp im User-Verzeichnis nicht sichern, kannst Du vorgeben:
exceptDirs = home/*/tmp
Um diese Wildcards zu interpretieren, verwendet storeBackup.pl eine Shell. Falls die resultierende Liste von Verzeichnissen zu lang wird (misst etwa 4K), funktioniert dieses Verfahren nicht mehr. In diesem Fall solltest Du auf die Option exceptRule (siehe weiter unten) ausweichen.
Um in der Konfigurationsdatei eine Liste von Verzeichnissen zu spezifizieren, schreib einfach:
exceptDirs = home/*/tmp 'otherdir/temp'
Auf der Kommandozeile wird die Option einfach wiederholt:
-e 'home/*/tmp' -e 'otherdir/tmp'
Hier ist das Quoten von home/*/tmp wichtig, um die Interpretation des Ausdrucks bereits durch die gerade verwendete Shell zu vermeiden.
(In Kapitel ,,Auswahl von Verzeichnissen / Dateien für die Sicherung`` findest Du eine Übersicht über die verschiedenen Möglichkeiten zum Auswählen und Ausschließen von Dateien oder Verzeichnissen.)
--contExceptDirsErr / contExceptDirsErr
Beim Setzen dieser Option wird storeBackup.pl auch bei Fehlen von einem oder mehreren mit exceptDirs spezifizierten Verzeichnissen die Sicherung fortführen. Die Voreinstellung ist, eine Fehlermeldung auszugeben und zu stoppen.
--includeDirs / -i / includeDirs
Wenn diese Option gesetzt ist, werden nur die Verzeichnisse gesichert, die hier angegeben sind. StoreBackup.pl wird nur Dateien sichern, die nicht in exceptDirs und in includeDirs sind.
(In Kapitel ,,Auswahl von Verzeichnissen / Dateien für die Sicherung`` findest Du eine Übersicht über die verschiedenen Möglichkeiten zum Auswählen und Ausschließen von Dateien oder Verzeichnissen.)
--exceptRule / exceptRule
Wenn eine hier angegebene Regel zutrifft, wird die betroffene Datei aus dem Backup ausgeschlossen. Die Regel wird für reguläre („normale``) Dateien ausgeführt. Du kannst mehr über Regeln im Kapitel 7.4 erfahren.
(In Kapitel ,,Auswahl von Verzeichnissen / Dateien für die Sicherung`` findest Du eine Übersicht über die verschiedenen Möglichkeiten zum Auswählen und Ausschließen von Dateien oder Verzeichnissen.)
--includeRule / includeRule
Wenn diese Option verwendet wird, werden Dateien, bei denen diese Regel zutrifft, gesichert. StoreBackup.pl sichert nur Dateien, die nicht ausgeschlossen werden und bei der includeRule passen. Du kannst mehr über Regeln im Kapitel 7.4 erfahren.
--writeExcludeLog / writeExcludeLog
Diese Option bewirkt, dass storeBackup.pl eine Datei mit den Namen der Dateien schreibt, die aufgrund von Regeln vom Backup ausgeschlossen werden. Diese Datei wird direkt im jeweiligen Backupverzeichnis mit dem Namen .storeBackup.notSaved.bz2 gespeichert. Sie wird mit bzip2 komprimiert.
--exceptTypes / exceptTypes
Die hier aufgeführten Dateitypen werden nicht gesichert. StoreBackup.pl erkennt:
S - Socketdateien
b - Blockdateien
c - Zeichendateien
f - gewöhnliche Dateien
p - Pipes
l - Symbolische Links
Sbc können nur gesichert werden, wenn auf dem Rechner gnu-cp im Pfad ist und Du die gnucp Option (siehe unten) aktiviert hast. Wenn Du angibst:
exceptTypes = Sbc
werden Dateien dieses Typs nicht im Backup gespeichert und es wird keine Warnung generiert. Diese Einstellung wird vor „exceptRule`` und „includeRule`` ausgewertet. Wenn einige Dateitypen generell ausgeschlossen werden sollen, benutze diese Option. (Sie ist schneller und auch einfacher zu verwenden.)
--archiveTypes archiveTypes
Sichert den angegebenen Dateityp in einem Archiv statt direkt im Dateisystem. Dies ist nützlich, um „special files`` speichern zu können, obwohl das verwendete Dateisystem (z.B. NTFS) oder der verwendete Transportmechanismus (z.B. sshfs) dieses nicht unterstützt. Du kannst die folgenden Dateitypen auswählen:
S - Socketdateien
b - Blockdateien
c - Zeichendateien
p - Pipes
--specialTypeArchiver / specialTypeArchiver
Mögliche Werte sind cpio and tar. Der Defaultwert ist cpio. Siehe Option archiveTypes oben.
Anmerkung: tar kann keine Sockets speichern; cpio ist nicht mehr Teil des aktuellen Posix-Standards.
--cpIsGnu / cpIsGnu
Wenn diese Option gesetzt wird, können Dateien des Typs Sbc (siehe oben) gesichert werden. Für die Rücksicherung mit storeBackupRecover.pl wird gnu-cp ebenfalls benötigt. Wenn Du ein Linux System verwendest, ist Dein „cp`` Programm „gnu-cp``.
--linkSymlinks / linkSymlinks
Wenn Du Deine Sicherung auf ein Dateisystem machst, das Hardlinks auf symbolische Links unterstützt, kannst Du diese Option aktivieren. GNU/Linux unterstützt dieses Feature. Die Voreinstellung ist, keine Hardlinks auf symbolische Links zu erlauben.
--precommand / precommand
Du kannst ein Kommando oder Skript definieren, dass ausgeführt wird, bevor storeBackup.pl das Backup startet. Es starte erst, nachdem die Lock-Datei überprüft wurde. Wenn der Ausgabewert dieses Kommandos != 0 ist, wird storeBackup.pl sofort angehalten. Ausgaben dieses Kommandos auf stdin werden als Warnung, die Ausgabe auf stderr als Error in die storeBackup.pl Log Datei geschrieben.
Die Kommandozeilenparameter dieser Option werden genauso analysiert wie in der Konfigurationsdatei und sollten normalerweise gequotet werden. Das heißt, man kann bei dem Kommando Parameter verwenden, z.B.:
precommand = /backup/pre.sh param1 param2
ist dasselbe wie:
--precommand '/backup/pre.sh param1 param2'
--postcommand / postcommand
Dieses Kommando wird nach Beendigung des Backups, aber vor dem Löschen alter Backups ausgeführt. StoreBackup.pl meldet, ob der Exit-Status !=0 ist.
Der cli-Parameter für dieses Option wird wie eine Zeile in der Konfigurationsdatei interpretiert (siehe Option precommand).
--followLinks / followLinks
Wenn Du mehr als ein Verzeichnis sichern willst, solltest Du diese Option verwenden. Um z.B. /boot, /etc und /home/tom zu sichern, solltest Du (als root) so etwas wie das Folgende erzeugen:

# mkdir /backup
# cd /backup
# ln -s /boot boot
# ln -s /etc etc
# ln -s /home/tom home_tom
# ln -s . backup
# storeBackup.pl -g stbu.conf

Danach solltest Du in der Konfigurationsdatei (hier stbu.conf (neben anderem) einstellen:

# sourceDir = /backup
# followLinks = 1

Dies sagt storeBackup.pl, die erste Ebene (den ersten Level) von symbolischen Links unterhalb von /backup wie Verzeichnisse zu behandeln. Mit „ln -s . backup`` wird ein Unterverzeichnis im Backup erstellt, das exakt dem Verzeichnis /backup entspricht.
„followLinks`` konfiguriert storeBackup.pl so, dass n Level von symbolischen Links als Verzeichnisse interpretiert werden. Du kannst durch einfaches Setzen oder Löschen eines symbolischen Links beliebige Verzeichnisse Deines Dateisystems dem Backup in /backup hinzufügen und wieder entfernen.

--stayInFileSystem / stayInFileSystem
Bei Verwendung dieser Option werden nur Dateien und Verzeichnisse gesichert, die über die Option sourceDir oder über die Hardlinks der Option followLinks spezifiziert wurden.
--highLatency / highLatency
Verwende diese Option, wenn storeBackup.pl über eigene Leitung mit hoher Latenz sichert, wie z.B.bei einem VPN über das Internet. Dieses Option bedingt eine höhere Parallelisierung auf Kosten von erhöhtem CPU-Verbrauch. Es ist ein gute Idee, --lateLinks und je nach Anwendungsfall ggf. --lateCompress zu verwenden.
Verwende diese Option nicht, um reguläre Backups auf eine andere lokale Platte oder über NFS im lokalen Netzwerk durchzuführen.
--ignorePerms / ignorePerms
Bei Setzen dieser Option werden Dateien im Backup nicht notwendigerweise dieselben Rechte und Eigentümer (owner) haben wie im Original. Dies beschleunigt das Backup. Eine Rücksicherung mit storeBackupRecover.pl wird die Rechte und Eigentümer der Dateien richtig zurücksichern. Es gibt verschiedene Möglichkeiten, die Performance zu verbessern, siehe Kapitel 5.4.3.
--lateLinks / lateLinks
Diese Option reduziert die direkte Backup-Zeit zu Lasten eines zweiten Programms, das später laufen muss. Für ein lokales Backup auf eine andere Platte kann man eine Beschleunigung von 30-50% erwarten, bei einem Backup über NFS einen Faktor von 5 bis 10. Dieser Wert hängt sehr stark davon ab, wie viele neue Dateien zu sichern sind und wie schnell die Netzwerkanbindung ist. Bei einer Sicherung über ein VPN über das Internet habe ich eine Beschleunigung um einen Faktor 70 gemessen.
Wenn Du lateLinks verwenden willst, solltest Du Kapitel 7.6 lesen.
--lateCompress / lateCompress
Diese Option kann nur in Verbindung mit lateLinks verwendet werden. Sie bewirkt, dass die Kompression von Dateien $\ge$ minCompressSize erst erfolgt, wenn das Programm storeBackupUpdateBackup.pl läuft. Siehe auch Kapitel 7.6.
--checkBlocksSuffix
Die Konfiguration ist analog zu exceptSuffix; es wird eine Liste von zu überprüfenden Dateiendungen angegeben, z.B. $\backslash$.vdmk für VMware Images. Das bedeutet lediglich, dass der letzte Teil des Dateinamens mit dem übereinstimmen muss, was hier definiert wird.
Die nächsten hier beschriebenen Optionen werden nur ausgewertet, wenn checkBlocksSuffix gesetzt ist.
Siehe Blocked Files für mehr Informationen über diese Optionen mit „block`` im Namen.
--checkBlocksMinSize
Nur Dateien mit dieser Minimalgröße werden als „blocked files`` behandelt. Du kannst dieselben Kürzel verwenden wie in Definition von Regeln beschrieben, z.B. bedeutet 50M 50 Megabytes. Der Standardwert ist 100M.
--checkBlocksBS
Bestimmt die Blockgröße, in die die betroffenen Dateien aufgesplittet werden. Das Format dieser Option ist identisch zu checkBlocksMinSize. Der Standardwert ist 1M, der Minimalwert 10k.
--checkBlocksParallel
Gibt an, ob Dateien, die nicht hier (also in checkBlockSuffix) spezifiziert werden, parallel zu diesen abgearbeitet werden sollen. Das ist normalerweise nur dann sinnvoll, wenn die hier spezifizierten Dateien sehr klein oder auf einem eigenen Gerät (z.B. Festplatte) liegen.
Die Voreinstellung ist no, das bedeutet keine Parallelisierung.
--checkBlocksCompr
Legt fest, ob die Blöcke komprimiert werden. Mögliche Werte sind yes, no oder check. Die Voreinstellung ist no.
Diese Option betrifft nur Dateien, die mittels checkBlocksSuffix ausgewählt wurden. Wenn diese Option auf check gesetzt wird, wird jeder Blöck überprüft, ob eine Komprimierung (vermutlich) etwas bringt oder nicht; siehe Wie festlegen, ob eine Datei komprimiert werden soll.
--checkBlocksRulei
Die ite Regel zur Spezifizierung von Dateien, die als im Backup als „blocked files`` behandelt werden sollen. Es können 5 Regeln definiert werden, beginnend mit checkBlocksRule0 bis checkBlocksRule4.
Siehe Blocked Files für mehr Informationen über die Optionen mit „block`` im Namen.
--checkBlocksBSi
Die zugehörige Blockgröße für die Blöcke im Backup. Der Standardwert ist 1M, der Minimalwert 10k.
--checkBlocksCompri
Legt fest, ob die Blöcke komprimiert werden. Mögliche Werte sind yes, no oder check. Der Standardwert ist no.
Diese Option betrifft nur Dateien, die mittels checkBlocksSuffix ausgewählt wurden. Wenn diese Option auf check gesetzt wird, wird jeder Block überprüft, ob eine Komprimierung (vermutlich) etwas bringt oder nicht; siehe Wie festlegen, ob eine Datei komprimiert werden soll.
--checkBlocksReadi
Definiert den Filter für die zu spezifizierenden Dateien in sourceDir, z.B. gunzip oder gzip -d. Diese Option ist nützlich, wenn eine bereits komprimierte Imagedatei als „blocked file`` gesichert werden soll. (Das „blocked file``-Feature von storeBackup mit bereits komprimierten Dateien zu verwenden ist nicht sinnvoll.)
--checkBlocksParalleli
Gibt an, ob Dateien, die nicht hier (also in checkBlockSuffix) spezifiziert werden, parallel zu diesen abgearbeitet werden sollen. Dies ist normalerweise nur sinnvoll, wenn die hier spezifizierten Dateien sehr klein oder auf einem eigenen Gerät (z.B. Festplatte) liegen.
Standard ist no, das bedeutet keine Parallelisierung.
--checkDevicesi
Liste der zu sichernden Devices (z.B. /dev/sdd2 /dev/sde1).
--checkDevicesDiri
Verzeichnis im Backup, in dem die zu sichernden Geräte (devices) gespeichert werden sollen (relativer Pfad). Das Gerät wird bei einer Rücksicherung mit storeBackupRecover.pl auch in diesem (relativen) Verzeichnis erstellt (bei Verwendung von Standardoptionen). In dem hier angegebenen Verzeichnis erzeugt storeBackup.pl ein Unterverzeichnis, dessen Name aus den Parametern von checkDevices generiert wird (z.B. wird aus /dev/sdc dann dev_sdc).
--checkDevicesBSi
Definiert die Blockgröße, in welche die Devices durch storeBackup.pl aufgesplittet werden sollen. Das Format ist identisch zu dem von checkBlocksMinSize. Der Standardwert ist 1M, der Minimalwert 10k.
--checkDevicesCompri
Legt fest, ob die Blöcke komprimiert werden. Mögliche Werte sind yes, no oder check. Der Standardwert ist no.
Wenn diese Option auf check gesetzt wird, wird jeder Block überprüft, ob eine Komprimierung (vermutlich) etwas bringt oder nicht; siehe Wie festlegen, ob eine Datei komprimiert werden soll.
--checkDevicesParalleli
Gibt an, ob Devices, die nicht hier (also in checkDevices) spezifiziert werden, parallel zum Rest abgearbeitet werden sollen. Dies ist normalerweise nur sinnvoll, wenn die hier spezifizierten Geräte (Devices) auf einem eigenen Gerät (z.B. Festplatte) liegen.
Standard ist no, das bedeutet keine Parallelisierung.
Du solltest noch wissen, dass Dateien und Devices, die mit checkBlocksRulei oder checkDevicesi definiert wurden, nie parallel verarbeitet werden.
--saveRAM / saveRAM
Verwende diese Option, wenn storeBackup.pl auf einem System mit sehr wenig Hauptspeicher verwendet wird. Du wirst dann in tmpDir einige dbm-Dateien sehen. Durch Verwendung dieser Option wird storeBackup.pl ein bisschen langsamer, daher empfiehlt sich diese Option nur dann, wenn ohne sie Probleme auftreten. Auf aktuellen Computern sollte die Verwendung dieser Option nur notwendig sein, wenn viele Millionen Dateien zu sichern sind.
--compress / -c / compress
Hier wird das Kommando definiert, das storeBackup.pl für die Komprimierung verwendet. Standard ist bzip2.
Der Kommandozeilenparameter für diese Option wird wie eine Zeile in der Konfigurationsdatei geparst und muss normalerweise auf der Kommandozeile gequotet werden. Das bedeutet, dass Parameter verwendet werden können, z.B.:
compress = gzip -9
was identisch ist mit:
--compress 'gzip -9'
--uncompress / -u / uncompress
Das Kommando, das storeBackupRecover.pl für das Entpacken von Dateien im Backup nutzt. Standard ist „bzip2 -d``. Dieser Wert muss zum Parameter der Option compress passen.
Der Kommandozeilenparameter für diese Option wird wie eine Zeile in der Konfigurationsdatei geparst und muss normalerweise auf der Kommandozeile gequotet werden. Das bedeutet, dass Parameter verwendet werden können, z.B.:
compress = gzip -d
was identisch ist mit:
--compress 'gzip -d'
--postfix / -p /postfix
Die Endung, die storeBackup.pl für komprimierte Dateien verwendet. Diese sollte zur Option compress passend. Standard ist .bz2.
--noCompress / noCompress
Maximale Anzahl von parallelen Kompressions-Tasks. Bei GNU/Linux wird die Anzahl automatisch auf Anzahl der Cores + 1 gesetzt.
--queueCompress / queueCompress
Maximale Länge der Warteschlange für zu komprimierende Dateien. Der Standardwert ist 1000.
--noCopy / noCopy
Maximale Anzahl der parallelen Kopiervorgänge. Der Standardwert ist 1.
--queueCopy / queueCopy
Maximal Länge der Warteschlange für zu kopierende Dateien. Der Standardwert ist 1000.
--withUserGroupStat / withUserGroupStat
Schreibt Statistiken über den von Benutzern und Gruppen belegten Platz im sourceDir in die Logdatei.
--userGroupStatFile / userGroupStatFile
Schreibt Statistiken über den von Benutzern und Gruppen belegten Platz in die hier benannte Datei. Sie wird jedes Mal überschrieben.
--exceptSuffix / exceptSuffix
Dateien mit den hier angegebenen Endungen werden nicht komprimiert. Diese Option kann auf der Kommandozeile wiederholt angegeben werden. Der Standardwert ist:

exceptSuffix = '\.zip' '\.bz2' '\.gz' '\.tgz' '\.jpg' '\.gif' '\.tiff'
    '\.tif' '\.mpeg' '\.mpg' '\.mp3' '\.ogg' '\.gpg' '\.png'

Du solltest einen Backslash ($\backslash$) verwenden, um den Punkt zu maskieren, da ein Punkt allein irgendein Zeichen bedeutet (und nicht einen Punkt).
Um keine Datei zu komprimieren, kannst Du folgendes einstellen:
exceptSuffix = .*

--addExceptSuffix / addExceptSuffix
Wenn Du zu der obigen Liste oben nur Dateiendungen hinzufügen willst, kannst Du diese Option verwenden. Auf der Kommandozeile kann diese Option mehrfach verwendet werden, um mehrere Suffixe hinzuzufügen. Siehe das Beispiel oben (bei exceptSuffix) zur Verwendung in der Konfigurationsdatei.
--compressSuffix / compressSuffix
Liste der Suffixe der zu komprimierenden Dateien (Format wie bei exceptSuffix). Wenn Du diese Option verwendest, wird eine Regel gebildet aus den Optionen exceptSuffix, addExceptSuffix und minCompressSize. Weiterhin wird eine spezielle Regel-Funktion aufgerufen, die die durch die angegebenen Suffixe nicht abgedeckten Dateien daraufhin überprüft, ob eine Komprimierung lohnend sein dürfte. Einfache Beispiele sowie detaillierte Informationen hierzu werden in Wie festlegen, ob eine Datei komprimiert werden soll erläutert.
--minCompressSize / minCompressSize
Dateien, deren Größe unterhalb des hier angegebenen Wertes liegt, werden nicht komprimiert. Der Standardwert ist 1024.
Wenn dieser Wert bei zwei verlinkten Backups geändert wird (z.B. das erste Backup mit dem Standardwert und das zweite mit 512), so hat dies nur Auswirkungen auf Dateien mit neuem Inhalt. Dateien mit bereits im Backup existentem Inhalt werden zu den entsprechenden im Backup verlinkt. (In dem hier angesprochenen Beispiel für eine (neue) Datei mit 600 Byte im zweiten Backup würde diese nicht komprimiert werden, wenn eine derartige Datei mit demselben Inhalt bereits im Backup wäre.)
--comprRule / comprRule
Diese Regel kann als Alternative zu den erwähnten Optionen exceptSuffix, minCompressSize, addExceptSuffix und compressSuffix definiert werden. Wenn sie gesetzt ist, werden die soeben genannten Optionen ignoriert (d.h. es wird keine Regel aus ihnen generiert). Siehe Definition von Regeln für nähere Erläuterungen. Es könnte z.B. eine Regel definiert werden, die bewirkt, dass die Daten für bestimmte Benutzer zur einfacheren Rücksicherung (durch die Benutzer selbst) nicht komprimiert werden.
--doNotCompressMD5File / doNotCompressMD5File
storeBackup.pl speichert Informationen über jede Datei im Top-Level-Directory des jeweiligen Backups in einer Datei namens .md5CheckSums. Sie wird normalerweise mit bzip2 komprimiert. Das Setzen dieser Option unterbindet die Kompression. Verwende diese Option nur, wenn Dein Rechner sehr langsam ist oder nur nur einen Core hat. In diesem Fall wird storeBackup etwas schneller sein.
--chmodMD5File
Jeder, der storeBackupRecover.pl verwenden können soll, muss die Datei .md5CheckSums lesen können (siehe auch Option oben). Die voreingestellten Rechte auf dieser Datei sind 0600, was bedeutet, dass nur der Erzeuger des Backups Zugriff darauf hat. Mit dieser Option kann der Zugriff auf andere ausgedehnt werden. Das bedeutet jedoch ein mögliches Sicherheitsproblem; in der Datei .md5CheckSums werden md5-Summen, Zeiten, UID, GUID, Modi und andere Informationen gespeichert.
Der direkte Zugriff auf die Dateien im Backup ist unabhängig von dieser Option.
--verbose / -v / verbose
Erzeuge zusätzliche Meldungen.
--debug / -d / debug
Erzeuge Debug-Meldungen:
0 - keine Debug-Meldungen (default)
1 - einige Debug-Meldungen
2 - viele Debug-Meldungen
Diese Option ist insbesondere in Kombination mit den Optionen exceptRule und includeRule nützlich.
--resetAtime / resetAtime
Stellt die Access Time (Zeit des letzten Zugriffs) im Backup auf die im Quellverzeichnis ein, ändert aber die ctime (Zeit der Dateierzeugung). Im Allgemeinen wirst Du diese Option nicht verwenden wollen.
--doNotDelete / doNotDelete
Führt alle Überprüfungen bezüglich des Löschens von Backups aus, löscht aber nichts. Diese Option ist nützlich bei der Verwendung von storeBackupDel.pl, das die Konfigurationsdatei von storeBackup.pl lesen kann. StoreBackupDel.pl kann alte Backups später asynchron löschen.
Um die Regeln darüber, welche Backups gelöscht werden sollen, zu verstehen, siehe die „keep$*$`` Optionen unten.
--deleteNotFinishedDirs / deleteNotFinishedDirs
Lösche Backups, die nicht beendet wurden und daher nicht vollständig sind. StoreBackup.pl und storeBackupDel.pl löschen nicht beendete Backups nur, wenn wenn die Option doNotDelete auf yes gesetzt ist oder in der Kommandozeile verwendet wurde. Der Defaultwert für diese Option ist no.
--keepAll / keepAll
Behalte alle Backups einer Serie für den hier spezifizierten Zeitraum. Dieser Wert verhält sich wie ein Standardwert für alle Tage in der Option keepWeekday (siehe unten). Das Löschen alter Backups erfolgt erst dann, wenn das aktuelle Backup durchgelaufen ist oder mittels storeBackupDel.pl. Der Zeitraum muss im Format „dhms`` eingestellt werden, z.B. bedeutet „10d2h`` 10 Tage und 2 Stunden. Derartiges (plus 2 Stunden) ist sinnvoll, wenn Du 10 Tage festlegen willst; sonst kann eine Abweichung des Programmstarts von ein paar Minuten oder Sekunden als Resultat eine 9 tägige Aufbewahrungszeit ergeben. StoreBackup rechnet intern in Sekunden.
Der Standardwert ist „30d``.
--keepWeekday / keepWeekday
Diese Option überschreibt die Einstellungen der Option keepAll für spezielle Wochentage. Mon,Wed:40d5m Sat:60d10m bedeutet: Du kannst auch das „Archiv Flag`` verwenden; es bedeutet, dass die betroffenen Backups nicht aufgrund der Option keepMaxNumber gelöscht werden. Mon,Wed:a40d5m Sat:60d10m bedeutet: Auf der Kommandozeile werden die Parameter zu dieser Option wie in der Konfigurationsdatei geparst und müssen daher gequotet werden.
--keepFirstOfYear / keepFirstOfYear
Lösche das erste existierende Backup eines Jahres nicht. Das Format ist ein Zeitraum (siehe Option keepAll mit einem möglichen „Archiv Flag``.
--keepLastOfYear / keepLastOfYear
Lösche das letzte existierende Backup eines Jahres nicht. Das Format ist ein Zeitraum (siehe Option keepAll mit einem möglichen „Archiv Flag``.
--keepFirstOfMonth / keepFirstOfMonth
Lösche das erste existierende Backup eines Monats nicht. Das Format ist ein Zeitraum (siehe Option keepAll mit einem möglichen „Archiv Flag``.
--keepLastOfMonth / keepLastOfMonth
Lösche das letzte existierende Backup eines Monats nicht. Das Format ist ein Zeitraum (siehe Option keepAll mit einem möglichen „Archiv Flag``.
--firstDayOfWeek / firstDayOfWeek
Setzt den ersten Tag einer Woche für die Berechnungen, die auf keepFirstOfWeek und keepLastOfWeek basieren.
Der Standardwert ist „Sun`` (Sonntag).
--keepFirstOfWeek / keepFirstOfWeek
Lösche das erste existierende Backup einer Woche nicht. Das Format ist ein Zeitraum (siehe Option keepAll mit einem möglichen „Archiv Flag``.
--keepLastOfWeek / keepLastOfWeek
Lösche das letzte existierende Backup einer Woche nicht. Das Format ist ein Zeitraum (siehe Option keepAll mit einem möglichen „Archiv Flag``.
--keepDuplicate / keepDuplicate
Behalte mehrfache Backups eines Tages für den hier spezifizierten Zeitraum. Wenn die Backups eines Tages älter als der hier angegebene Zeitraum sind, werden alle außer dem letzten Backup des betroffenen Tages gelöscht. Die Verwendung des „Archiv Flags`` ist nicht möglich. Das Format ist bei Option keepAll beschrieben.
Der Standardwert ist„7d``.
--keepMinNumber / keepMinNumber
Behalte mindestens die hier angegebene Anzahl von Backups. Mehrfache Backups eines Tages zählen dabei als ein Backup.
Der Standardwert ist „10``.
--keepMaxNumber / keepMaxNumber
Versuche, nur die hier angegebene Anzahl von Backups zu behalten. Wenn mehr Backups als hier angegeben existieren, wird die folgende Sequenz zum Löschen durchlaufen:
--keepRelative / -R / keepRelative
Diese Option ist ein alternatives Lösch-Schema. Wenn diese Option gesetzt ist, werden alle anderen keep$*$ Optionen ignoriert. Auf der Kommandozeile werden die Parameter zu dieser Option wie eine Zeile in der Konfigurationsdatei geparst und müssen daher i.d.R. gequotet werden.
Dieses Backup-Schema erlaubt es, das relative Alter von Backups, die Du behalten willst festzulegen - anstelle der Periode, die ein Backup erhalten werden soll.
Stell Dir vor, Du hättest immer die folgenden Backup verfügbar: Beachte, dass das sehr wahrscheinlich nicht das ist, was Du willst, und zwar weil es ganz einfach bedeutet, dass Du tägliche Backups durchführen musst und jedes Backup für exakt 3 Monate behalten musst. Ansonsten könntest Du kein Backup vorhalten, dass das geforderte exakte Alter hat.
Was Du wirklich willst, ist daher so etwas wie: Das wäre eine sehr gewöhnliche Backup-Strategie, aber Du würdest Schwierigkeiten haben, dieses mit den anderen keepFirstOf$*$ Optionen zu definieren, insbesondere, wenn Du die Backups nicht regelmäßig durchführst. Allerdings kannst Du dieses Verhalten sehr einfach mit keepRelative durchführen. Du musst nur folgendes angeben:
keepRelative = 1h 1d 7d 14d 31d 80d 100d
Das heißt, Du listet hier alle Intervalle auf, für die Du Backups haben willst. StoreBackup wird die Backups in einer Art und Weise löschen, die dem gewünschten so nahe wie möglich kommt. (Wenn Du nicht genügend Backups machst, kann aber auch storeBackup nichts dagegen unternehmen.)
Beachte, dass dies bedeuten kann, dass storeBackup mehr Backups erhalten muss als Du denkst; z.B. könnte es zwei Backups in einer Periode behalten. In diesen Fällen „sieht storeBackup in die Zukunft`` und stellt fest, dass beide Backups später nötig sind, um Backups für alle Perioden vorzuhalten. Dies ist auch der Grund, warum im obigen Beispiel implizit die Periode 7-14 Tage spezifiziert wird, auch wenn Du in ihr kein Backup haben willst. Um Backups in der nächsten Periode (14-31 Tage) zu haben, benötigst Du immer auch ein Backup in der Periode 7-14 Tage. Aus diesem Grund erlaubt es die Syntax nicht, Perioden auszuschließen.
Schlussendlich solltest Du darauf achten, dass storeBackup alle Intervalle, für es kein passendes Backup finden kann, verschiebt: Wenn Dein erstes Backup zwischen 10 und 20 Tage sein soll, aber das nächste aktuelle 25 Tage alt ist, werden alle folgenden Perioden um 5 Tage verlängert. Wenn Du über einen längeren Zeitraum keine Backups gemacht hast, stellt dieses Verhalten sicher, dass dieser Zeitraum Dein Backup-Schema nicht durcheinanderbringt. Hier ein Beispiel, warum dieses sinnvoll ist: Wenn du Backups haben willst, die 1, 3, 7 und 10 Tage alt sind und Du gehst für 14 Tage in Urlaub, dann ist es sehr unwahrscheinlich, dass Du alle Backups gelöscht haben willst, wenn Du zurückkommst. Daher ignoriert storeBackup diese 14 Tage und behält die Backups entsprechend länger.
--progressReport / -P / progressReport
Schreibe den Fortschritt nach der hier angegebenen Anzahl von Dateien in die Logdatei. Wenn Du eine Meldung spätestens nach einem bestimmten Zeitraum haben willst, kann Du diese durch ein Komma separiert anfügen, z.B.:
-P 1000,1m10s     auf der Kommandozeile, oder
progressReport = 1000,1m10s     in der Konfigurationsdatei.
Es dürfen keine Leerstellen im Parameter zu der Option enthalten sein. Die Syntax für den Zeitraum ist dieselbe wie bei den keep$*$ Optionen.
--printDepth / -D / printDepth
Schreibe die aktuell zu lesende Verzeichnisbaumtiefe während des Backups in die Logdatei.
--ignoreReadError / ignoreReadError
Das Setzen dieser Option bewirkt das Ignorieren von Lesefehlern durch storeBackup.pl. Auf diese Art veranlassen nicht-lesbare Verzeichnisse storeBackup.pl nicht dazu, die Verarbeitung abzubrechen. Diese Option wurde implementiert, um Shares von Windows Servern lesen zu können, die manchmal derartige Fehler liefern.
Normalerweise wird diese Option nicht benötigt.
--suppressWarning / suppressWarning
Unterdrücke (ungewünschte) Warnungen, die ansonsten in die Logdatei oder nach stdout geschrieben würden. Dies ist eine Option für erfahrene Anwender. Für normale Verwendung von storeBackup kann diese Option ignoriert werden. In einigen Situationen kann es vorkommen, dass ein erfahrener Benutzer bestimmte Warnungen nicht mehr sehen möchte. Diese Option erlaubt es, derartige Warnungen abzuschalten. Sie ist nur für bestimmte nicht-kritische Warnungen verfügbar, z.B. für fehlende oder ausgeschlossene Verzeichnisse, für Dateien, die sich während des Backups ändern und für die Erzeugung der „default`` Serie.15
--linkToRecent
Durch Setzen dieser Option wird nach erfolgreichem Backup ein symbolischer Link mit dem hier definierten Namen auf dieses gerade durchgeführte Backup gesetzt. Wenn ein älterer symbolischer Link existiert, wird er gelöscht. Wenn der Name des symbolischen Links geändert wurde, wird er nicht automatisch gelöscht und muss manuell entfernt werden.
--logFile / -l / logFile
Name der Logdatei. Standard ist stdout (Bildschirmausgabe).
--plusLogStdout / plusLogStdout
Wenn die Option logFile gesetzt ist, kann hier konfiguriert werden, dass storeBackup.pl das Log zusätzlich auf stdout ausgibt.
--suppressTime / suppressTime
Unterdrücke die Ausgabe der aktuellen Zeit in der Logdatei.
--maxFilelen / -m / maxFilelen
Maximale Größe einer Logdatei. Nachdem diese Größe erreicht wird, wir die Logdatei rotiert (siehe Option noOfOldFiles) oder komprimiert (siehe Option saveLogs).
--noOfOldFiles / -n / noOfOldFiles
Anzahl alter Logdateien, die rotiert werden sollen. Der Standardwert ist 5. Mit den Standardwerten sieht das so aus:

$ ls -l /tmp/storebackup.log*
-rw------- 1 hjc  root  328815 30. Aug 12:12 /tmp/storebackup.log
-rw------- 1 root root 1000087 27. Aug 21:18 /tmp/storebackup.log.1
-rw------- 1 root root 1000038 20. Aug 19:02 /tmp/storebackup.log.2
-rw------- 1 root root 1000094 11. Aug 18:51 /tmp/storebackup.log.3
-rw------- 1 root root 1000147 11. Aug 18:49 /tmp/storebackup.log.4
-rw------- 1 root root 1000030 11. Aug 18:49 /tmp/storebackup.log.5

Logdateien, die älter als $*$.5 sind, werden automatisch gelöscht.

--saveLogs / saveLogs
Speichere die Logs mit Datums- und Zeitstempel, statt sie nach dem Rotieren zu löschen. Durch Setzen dieser Option wird die Option noOfOldFiles deaktiviert.
--compressWith / compressWith
Spezifiziert das Programm, mit dem die zu sichernden Logdateien gesichert werden sollen (z.B. gzip -9). Der Standardwert ist bzip2.
Die Parameter für diese Option werden auf der Kommandozeile so ausgewertet wie in der Konfigurationsdatei. Das bedeutet, dass sie auf der Kommandozeile gequotet werden müssen.
--logInBackupDir / logInBackupDir
Schreibt eine zusätzliche Logdatei in das Backup-Verzeichnis. Der Standardname ist .storeBackup.log, siehe auch Option logInBackupDirFileName unten. Diese Logdatei beinhaltet eventuell nicht alle Fehlermeldungen der anderen Logdateien, da das Backup-Verzeichnis ja erst existieren muss, bevor in dieses Log geschrieben werden kann.
Dieses Log ist nützlich, um historische Logdateien zu haben, während das „globale`` Log (von Option logFile) nützlich für das Monitoring ist.
--compressLogInBackupDir / compressLogInBackupDir
Bewirkt die Komprimierung der Logdatei im Backup-Verzeichnis, falls spezifiziert.
--logInBackupDirFileName / logInBackupDirFileName
Dateiname der Logdatei, die im Backup-Verzeichnis gespeichert werden soll. Der Standardwert ist .storeBackup.log.
...otherBackupSeries... / otherBackupSeries
Auf der Kommandozeile ist dies keine Option, sondern ein List-Parameter. So muss auf der Kommandozeile geschrieben werden:

# storeBackup.pl <all_options> 0:server2 0-2:server3

In der Konfigurationsdatei entspräche das:
otherBackupSeries = 0:server2 0-2:server3
Hier kann eine Liste von anderen Backups angegeben werden, die für das Setzen von Hardlinks berücksichtigt werden sollen. Der Pfad zu den anderen Verzeichnissen muss ein relativer Pfad von backupDir sein!
Format (Beispiel):

otherSeries/2002.08.29_08.25.28   ##  -> consider exactly this otherSeries

oder

0:otherSeries    ##  -> last (youngest) in <backupDir>/otherSeries
1:otherSeries    ##  -> first before last in <backupDir>/otherSeries
n:otherSeries    ##  -> n'th before last in <backupDir>/otherSeries
3-5:otherSeries  ##  -> 3rd, 4th and 5th in <backupDir>/otherSeries
all:otherSeries  ##  -> all in <backupDir>/otherSeries

Wenn Du hier nichts angibst, werden automatisch die neuesten Backups von allen anderen Serien in dem übergeordneten Verzeichnis genommen, das mit backupDir angegeben wurde.

Für die Konfiguration von otherBackupSeries können auch Wildcards verwendet werden. Mehr hierzu findet sich am Anfang des Kapitels ,,Verwendung von Wildcards für die Replikation``.


next up previous contents
Nächste Seite: storeBackupUpdateBackup.pl Aufwärts: storeBackup.pl Vorherige Seite: storeBackup.pl   Inhalt
Heinz-Josef Claes 2014-04-20