Dies ist der Befehl bup-index, der im kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows Online-Emulator oder MAC OS Online-Emulator ausgeführt werden kann.
PROGRAMM:
NAME/FUNKTION
bup-index - druckt und/oder aktualisiert den Bup-Dateisystemindex
ZUSAMMENFASSUNG
bup-Index <-p|-m|-s|-u|--clear|--check> [-H] [-l] [-x] [--fake-valid] [--no-check-device]
[--fake-ungültig] [-f Indexdatei] [--exclude Weg] [--ausgeschlossen von Dateinamen] [--exclude-rx
Anleitungen] [--exclude-rx-from Dateinamen] [-v]
BESCHREIBUNG
bup index druckt und/oder aktualisiert den bup-Dateisystemindex, der ein Cache des
Dateinamen, Attribute und SHA-1-Hashes jeder Datei und jedes Verzeichnisses im Dateisystem. Die
Der Bup-Index hat eine ähnliche Funktion wie der git(1) Index und kann gefunden werden in
$BUP_DIR/bupindex.
Das Erstellen einer Sicherung in bup besteht aus zwei Schritten: Aktualisieren des Index mit bup index, dann
tatsächlich die Dateien (oder eine Teilmenge der Dateien) mit bup save sichern. Die Trennung
besteht aus folgenden Gründen:
1. Es gibt mehrere Möglichkeiten, eine Liste der zu sichernden Dateien zu erstellen. Für
Beispielsweise könnten Sie annotieren(7) oder benachrichtigen(7).
2. Selbst wenn Sie Dateien an mehreren Zielen sichern (für zusätzliche Redundanz),
Namen, Attribute und Hashes sind jedes Mal gleich. So können Sie die
Problem, die Dateiliste für jeden Sicherungssatz immer wieder neu generieren zu müssen.
3. Sie können die vom BUP-Index erfassten Daten auch für andere Zwecke verwenden (z. B. Geschwindigkeitsüberschreitungen
andere Programme, die dieselben Informationen benötigen).
ANMERKUNG
Derzeit ignoriert bup Linux-Attribute (vgl. Geschwätz(1) und lsattr(1)) auf einigen
Systeme (alle Big-Endian-Systeme, bei denen sizeof(long) < sizeof(int)). Dies liegt daran, dass die
Der Linux-Kernel und FUSE sind sich derzeit nicht einig über den Typ der attr-Systemaufrufargumente.
und so gibt es auf Big-Endian-Systemen keine Möglichkeit, die Ergebnisse ohne das Risiko von Stapelverlusten zu erhalten.
Korruption (http://lwn.net/Articles/575846/). In diesen Situationen druckt bup eine
Warnung: Linux-Attribute sind beim ersten Mal während eines Indexierungs-/Speicherungs-/Wiederherstellungsvorgangs relevant.
bup berücksichtigt die erwartete „Worst-Case“-Zeitstempelauflösung des Dateisystems –
derzeit eine Sekunde; Beispiele sind VFAT, ext2, ext3, kleine ext4 usw. Da bup
kann die Zeitstempelauflösung des Dateisystems nicht kennen und könnte mehrere durchlaufen
Dateisysteme während eines bestimmten Laufs, wird immer davon ausgegangen, dass die Auflösung nicht besser sein kann
als eine Sekunde.
In der Praxis bedeutet dies, dass Indexaktualisierungen etwas ungenau sind, und so bup save
kann gelegentlich Dateisystemänderungen aufzeichnen, die Sie nicht erwartet haben. Das liegt daran, dass während
eine Indexaktualisierung, wenn bup auf einen Pfad trifft, dessen tatsächliche Zeitstempel aktueller sind als ein
Sekunde vor dem Start des Updates setzt bup die Index-Zeitstempel für diesen Pfad (mtime
und ctime) auf genau eine Sekunde vor dem Lauf, wodurch diese Werte effektiv begrenzt werden.
Dadurch wird sichergestellt, dass keine späteren Änderungen an diesen Pfaden zu Zeitstempeln führen können, die
identisch mit denen im Index. Wenn das möglich wäre, könnte bup die
Änderungen.
Sie können die Auswirkung dieses Verhaltens in diesem Beispiel sehen (nehmen Sie an, dass weniger als eine Sekunde
vergeht zwischen der ersten Dateierstellung und dem ersten Indexlauf):
$ berühren src/1 src/2
# Ein „sleep 1“ würde hier das unerwartete Speichern vermeiden.
$ bup index src
$ bup save -n src src # Speichert 1 und 2.
$ Datum > Quelle/1
$ bup index src
$ date > src/2 # Nicht indiziert.
$ bup save -n src src # Aber src/2 wird trotzdem gespeichert.
Streng genommen sollte bup die Änderung an src/2 nicht bemerken, tut es aber aufgrund der
oben beschriebene Unterkünfte.
MODI
-du, --aktualisieren
Aktualisieren Sie rekursiv den Index für die angegebenen Dateinamen und deren Nachkommen. Ein oder
Es müssen mehrere Dateinamen angegeben werden. Wenn keine Modusoption angegeben ist, ist dies die Standardeinstellung.
-P, --drucken
gibt den Inhalt des Index aus. Wenn Dateinamen angegeben sind, werden die angegebenen Einträge angezeigt
und deren Nachkommen. Wenn keine Dateinamen angegeben sind, werden die Einträge ab
das aktuelle Arbeitsverzeichnis (.).
-M, --geändert
druckt nur Dateien, die als geändert markiert sind (d. h. seit der letzten
Backup) im Index. Impliziert -p.
-S, --Status
Fügen Sie jedem Dateinamen einen Statuscode (A, M, D oder Leerzeichen) voran. Impliziert -p. Die
Codes bedeuten jeweils, dass eine Datei im Index als hinzugefügt, geändert,
gelöscht oder seit der letzten Sicherung unverändert.
--prüfen
Überprüfen Sie sorgfältig die Integrität der Indexdatei vor und nach der Aktualisierung. Besonders nützlich für
automatisierte Tests.
--klar
Löschen Sie den Standardindex.
OPTIONAL
-H, --hasch
Stellen Sie jeder gedruckten Datei den zuletzt aufgezeichneten Hash-Code voran. Der Hash-Code
wird normalerweise durch bup save generiert. Für Objekte, die noch nicht gesichert wurden,
Der Hash-Code lautet 0000000000000000000000000000000000000000. Beachten Sie, dass der Hash
Der Code wird auch dann gedruckt, wenn bekannt ist, dass die Datei im Index geändert oder gelöscht wurde.
(d. h. die Datei im Dateisystem stimmt nicht mehr mit dem aufgezeichneten Hash überein). Wenn dies der Fall ist
ein Problem für Sie, verwenden Sie --status.
- l, --lang
Drucken Sie weitere Informationen zu jeder Datei in einem ähnlichen Format wie die Option -l, um
ls(1).
-X, --xdev, --ein-Dateisystem
Überschreiten Sie beim rekursiven Durchlaufen des Dateisystems keine Dateisystemgrenzen.
Wie bei tar und rsync werden die Mount-Punkte selbst weiterhin indiziert. Nur
anwendbar, wenn Sie -u verwenden.
--fake-valid
Markieren Sie angegebene Dateinamen als aktuell, auch wenn sie es nicht sind. Dies kann nützlich sein für
zum Testen oder um unnötiges Sichern von Dateien zu vermeiden, von denen Sie wissen, dass sie langweilig sind.
--fake-ungültig
Markieren Sie angegebene Dateinamen als nicht aktuell, wodurch der nächste "bup save"-Lauf erzwungen wird
Überprüfen Sie deren Inhalt erneut.
-F, --indexfile=Indexdatei
Verwenden Sie einen anderen Indexdateinamen anstelle von $BUP_DIR/bupindex.
--ausschließen=Weg
ausschließen Weg aus der Sicherung (kann wiederholt werden).
--ausschließen-von=Dateinamen
lesen – Pfade ausschließen von Dateinamen, ein Pfad pro Zeile (kann wiederholt werden). Ignorieren
komplett leere Zeilen.
--exclude-rx=Anleitungen
alle Pfadübereinstimmungen ausschließen Anleitungen, was ein regulärer Python-Ausdruck sein muss
(http://docs.python.org/library/re.html). Das Muster wird mit dem verglichen
vollständiger Pfad, ohne Verankerung, so dass "x/y" mit "ox/yard" oder "box/yards" übereinstimmt. Um
schließen Sie den Inhalt von / Tmp, aber nicht das Verzeichnis selbst, verwenden Sie "^/tmp/.". (Vielleicht
wiederholt)
Beispiele:
· '/foo$' – schließt alle Dateien mit dem Namen foo aus
· '/foo/$' – alle Verzeichnisse mit dem Namen foo ausschließen
· '/foo/.' - Den Inhalt eines Verzeichnisses mit dem Namen foo ausschließen
· '^/tmp/.' – Stammebene ausschließen / Tmp's Inhalt, aber nicht / Tmp selbst
--exclude-rx-from=Dateinamen
--exclude-rx-Muster auslesen Dateinamen, ein Muster pro Zeile (kann wiederholt werden).
Ignoriere komplett leere Zeilen.
--no-check-device
Markieren Sie einen Eintrag nicht als ungültig, wenn die Gerätenummer (Zustand(2) st_dev) ändert. Dies
kann beim Indizieren von Remote-, automatisch gemounteten oder (LVM-)Snapshot-Dateisystemen nützlich sein.
-in, - ausführlich
Protokollausgabe während des Updates erhöhen (kann mehr als einmal verwendet werden). Mit einem -v wird ausgegeben
jedes Verzeichnis, wenn es aktualisiert wird; mit zwei -v wird auch jede Datei gedruckt.
Beispiele:
bup index -vux / Etc / var / usr
Verwenden Sie den Bup-Index online mit den Diensten von onworks.net