Nächste Seite: llt
Aufwärts: Komponenten / Programme
Vorherige Seite: storeBackupConvertBackup.pl
Inhalt
linkToDirs.pl
Erzeugt eine deduplizierte Kopie von Dateien in definierten
Verzeichnisse an eine andere Stelle. Verwendet so viele Hardlinks wie
möglich, um Speicherplatz zu sparen.
linkToDirs.pl ist ein allgemein verwendbares Tool.
Es ist aber besonders hilfreich, wenn Du mit storeBackup erzeugte Backups auf
ein anderes Dateisystem kopieren willst.
Anmerkung: Während viele Kopiertools genau zwei primäre Parameter
haben (Ziel und Quelle), hat linkToDirs.pl drei:
- Quelle(n)
- Ziel
- und Ort(e) zum Referenzieren
Die Stelle zum Referenzieren ist die Lokation, an der nach vorhandenem
Inhalt gesucht wird, mit dem verhardlinkt werden kann (siehe Option
--linkWith).
Die Verwendung der Option --linkWith ist nicht zwingend. Wenn
Du sie verwendest, kannst Du optional mehrere Verzeichnisse zum
Referenzieren über Hardlinks angeben (die Option --linkWith
kann wiederholt angewendet werden).
Dateien mit demselben Inhalt wie dem in den Referenzverzeichnissen
(diese müssen auf demselben Dateisystem wie das Zielverzeichnis liegen)
werden verhardlinkt. Hardlinks in den kopierten Dateien bleiben
erhalten oder werden wieder neu erzeugt: linkeToDirs.pl setzt bei
identischen Dateien immer Hardlinks, außer in den Dateien innerhalb
der Referenzverzeichnisse, die mittels --linkWith angegeben
wurden. Diese werden nicht verändert. Falls sich dort also zwei
identische Dateien befinden, die nicht verhardlinkt sind, bleiben
sie so (ohne Hardlink) bestehen. linkToDirs.pl unterstützt
das Hardlinken von symbolischen Links.
(Wenn keine identischen Dateien existieren, werden natürlich nur Kopien
angelegt.)
Hardlinks folgen bei Linux diesen Regeln:
- Hardlinks können keine Directories verlinken.
- Hardlinks können keine Dateisystemgrenzen überschreiten.
Wenn es nicht möglich ist, einen Hardlink auf die referenzierte Datei zu
erzeugen (z.B. wegen der genannten Limitationen von Hardlinks), kopiert
linkToDirs.pl die betreffende Datei auf dem
Ziel-Dateisystem neu und verlinkt danach gegen diese. Auf diese Weise
kann linkToDirs.pl verwendet werden, einen deduplizierten
Status aus dem Quellverzeichnis auf einem Zielverzeichnis zu erhalten
(auch wenn das Ziel-Dateisystem weniger Hardlinks pro Datei
unterstützt als das Quell-Dateisystem). Hardlinks können aber nicht
über Dateisystemgrenzen angelegt werden.
linkToDirs.pl ist ein Tool zur allgemeinen
Verwendung. Nichtsdestotrotz hat es einen besonderen Nutzen für
storeBackup. Wie Du weißt, eliminiert storeBackup Platzverschwendung
im Backup durch Deduplikation über Hardlinks. Aber Hardlinks können
nicht über Dateisystem Grenzen angelegt werden.
Wenn Du ein existierendes, mit storeBackup erzeugtes Backup auf eine
neue Platte (ein neues Dateisystem) kopieren willst, ermöglicht es
linkToDirs.pl Dir, alle Vorteile des Platzsparens von
storeBackup zu erhalten.
linkToDirs.pl [--linkWith copyBackupDir] [--linkWith ...]
--targetDir targetForSourceDir
[--progressReport number[,timeframe]]
[--printDepth] [--dontLinkSymlinks]
[--ignoreErrors] [--saveRAM] [-T tmpdir]
[--createSparseFiles [--blockSize]]
sourceDir ...
- --help / -h
- Gibt eine Hilfe aus
- --linkWith / -w
- Das Referenzverzeichnis. Die Dateien
hier werden beim Hardlinken berücksichtigt. Diese Option kann
wiederholt verwendet werden. (Wie zu erwarten werden die
Verzeichnisse rekursiv durchlaufen.)
- --targetDir / -t
- Das Zielverzeichnis. Die bei
sourceDir angegebenen Verzeichnisse werden hierher kopiert.
- --dontLinkSymlinks
- Symbolische Links werden nicht per
Hardlinks verbunden. Standard ist, identische symbolische Links per
Hardlink zu verbinden.
- --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.
- sourceDir
- Das Quellverzeichnis. Dateien (oder
existierende storeBackup-Backups) aus diesem Verzeichnis werden nach
targetDir kopiert. sourceDir kann wiederholt mit
unterschiedlichen Verzeichnissen angegeben werden. Es können auch
Wildcards verwendet werden. Die Kopierfunktionalität geht rekursiv
in alle Unterverzeichnisse der angegebenen sourceDir.
- --ignoreErrors
- Das Programm stoppt nicht, wenn Fehler
beim Kopieren / Linken auftreten.
- --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
kopieren sind.
- --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.
- --createSparseFiles / -s
- Unterschiede in der Anzahl der
belegten Blöcke, der Blockgröße und der Dateigröße werden dazu
verwendet, um mögliche Sparse Dateien zu erkennen. Wenn diese Option
gesetzt ist, wird im Fall einer möglichen Sparse Datei mit dem
externen Program cp kopiert. Auf Linux und vielen anderen
Systemen ist gnucp installiert, welches Sparse Dateien
unterstützt. Diese Option könnte auf anderen Betriebssystemen je nach
verwendetem cp nicht funktionieren.
- --blockSize
- Die Blockgröße, die verwendet wird, um eine
Sparse Datei zu identifizieren. Der Defaultwert ist 512.
Nächste Seite: llt
Aufwärts: Komponenten / Programme
Vorherige Seite: storeBackupConvertBackup.pl
Inhalt
Heinz-Josef Claes
2014-04-20