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:
- Lass storeBackupUpdateBackup.pl laufen, so dass noch
nicht erzeugte Links (siehe auch Option lateLinks weiter
unten) generiert werden.
- Benenne das Verzeichnis unterhalb von backupDir in den
gewünschten Namen um.
- Konfiguriere diese Option (series) auf den Verzeichnisnamen,
den Du im Schritt vorher gewählt hattest.
- --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 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. .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 () 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:
- behalte Backups von Montag bis Mittwoch für 40 Tage + 5 Minuten
- behalte Backups von Samstag für 60 Tage + 10 Minuten
- Behalte Backups für die anderen Wochentage so lange wie in der
Option keepAll angegeben.
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:
- behalte Backups von Montag und Mittwoch für 40 Tage + 5
Minuten + Archiv
Wenn Du mehr als in keepMaxNumber festgelegte Backups hast,
dann werden die Backups von Montag oder Mittwoch, die in diese
Kategorie fallen, nicht gelöscht.
- behalte Backups von Samstagen für 60 Tage + 10 Minuten
Wenn Du mehr als keepMaxNumber Backups hast und Backups von
Samstagen in diese Kategorie fallen, werden sie gelöscht.
- behalte Backups der anderen Wochentage wie in der
Option keepAll spezifiziert. Wenn Du mehr Backups hast als in
keepMaxNumber spezifiziert, werden diese gelöscht, sofern sie
in diese Kategorie fallen.
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:
- Lösche alle Duplikate eines Tages, beginnend mit dem ältesten,
mit Ausnahme des letzten Backups eines Tages.
- Wenn dies nicht reicht, lösche den notwendigen Rest von
Backups, beginnend mit dem ältesten, aber nie ein Backup mit
dem „Archiv Flag`` oder das letzte Backup. Siehe Option
keepWeekday für Erläuterungen zum „Archiv Flag``.
- --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:
- 1 Backup von gestern
- 1 Backup von letzter Woche
- 1 Backup vom letzten Monat
- 1 Backup von vor drei Monaten
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:
- 1 Backup mit einem Alter zwischen 1 Stunde und 24 Stunden (1
Tag)
- 1 Backup mit einem Alter zwischen 1 Tag und 7 Tage
- 1 Backup mit einem Alter zwischen 14 und 31 Tagen
- 1 Backup mit einem Alter zwischen 80 und 100 Tagen
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
- Das Verwenden des excDir-Schlüsselworts unterdrückt
Warnungen über nicht-existente exclude-Verzeichnisse.
- Das Verwenden des filechange-Schlüsselworts unterdrückt
alle Warnungen darüber, dass festgestellt wurde, dass sich der
Inhalt einer Datei während des Backups geändert hat.
- Das Verwenden des crSeries-Schlüsselworts unterdrückt die
Warnung, falls storeBackup.pl ein Verzeichnis für die
„default`` Serie anlegen muss.
- Das Verwenden des hashCollision-Schlüsselworts unterdrückt
Warnungen, dass storeBackup.pl mögliche md5-Hash-Kollisionen
gefunden hat.
- Das Verwenden des fileNameWIthLineFeed-Schlüsselworts
unterdrückt Warnungen über Dateinamen mit „line feed`` im Namen.
- Das Verwenden des use_DB_File Schlüsselwortes
unterdrückt die entsprechende Warnung, falls in Deiner
perl-Installation das CPAN Module DB_File nicht installiert
ist. Du solltest es - wenn möglich - installieren; es erhöht die
Performance und verringert den Speicherverbrauch.
- Das Verwenden des use_MLDBM Schlüsselwortes
unterdrückt die Warnung, die generiert wird, wenn Du die
Regel-Funktionen MARK_DIR oder MARK_DIR_REC in
Kombination mit Option mit der Option saveRAM verwenden
könntest und das perl CPAN Modul MLDBM auf Deinem
Rechner nicht installiert ist.
- Das Verwenden des use_IOCompressBzip2 Schlüsselwortes
unterdrückt die Warnung, dass Du für eine bessere Performance das
perl CPAN Modul IO::Compress::Bzip2 installieren
solltest. Ignoriere / unterdrücke diese Meldung, wenn Du
bzip2 nicht als Kompressions-Medhode verwendest.
- Das Verwenden des noBackupForPeriod Schlüsselwortes
unterdrückt bei Verwendung von Option keepRelative die
Warnung, dass für einen bestimmten Zeitraum keine Backups
verfügbar sind.
- --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``.