Heim  >  Artikel  >  System-Tutorial  >  Erweiterte Verwendung des Linux-Befehls tar – Daten sichern

Erweiterte Verwendung des Linux-Befehls tar – Daten sichern

WBOY
WBOYnach vorne
2024-02-12 22:10:02527Durchsuche

Auf Linux-Systemen gibt es einen leistungsstarken tar-Befehl. tar wurde ursprünglich für die Erstellung von Bandsicherungen (Bandarchiven) entwickelt, mit denen Dateien und Verzeichnisse auf Bändern gesichert und Dateien von Bändern extrahiert oder wiederhergestellt werden können. Jetzt können wir tar verwenden, um Daten auf jedem Speichermedium zu sichern. Es handelt sich um eine Sicherung auf Dateiebene, die den Typ des zugrunde liegenden Dateisystems nicht berücksichtigen muss und inkrementelle Sicherungen unterstützt.

Linux tar命令高级用法——备份数据

1. Einige gängige Optionen

●-z, –gzip: Verwenden Sie die (De-)Komprimierung des gzip-Tools, das Suffix ist im Allgemeinen .gz

●**-c, –create: **tar-Verpackung, das Suffix ist im Allgemeinen .tar

●**-f, –file=: ** wird unmittelbar gefolgt vom Dateinamen, der nach dem Packen oder Komprimieren erhalten wurde

●**-x, –extract: **Entpackbefehl, entsprechend -c

●-p: Behalten Sie die ursprünglichen Berechtigungen und Attribute der Sicherungsdaten bei

●**-g: **Die Snapshot-Datei, gefolgt von der inkrementellen Sicherung

●**-C: **Geben Sie das zu dekomprimierende Verzeichnis an

●**–ausschließen: **Entpackte Verzeichnisse oder Dateien ausschließen, regulären Abgleich unterstützen

Andere

●**-X, –exclude-from: **Listen Sie die Verzeichnisse oder Dateien auf, die in einer Datei ausgeschlossen werden sollen (verwenden Sie, wenn –exclude= mehr ist)

●**-t, –list: **Listet die Dateiliste im Sicherungsarchiv auf, erscheint nicht gleichzeitig mit -c, -x

●**-j, –bzip2: **Verwenden Sie die (De-)Komprimierung des bzip2-Tools, das Suffix ist im Allgemeinen .bz2

●**-P: **Behalten Sie den absoluten Pfad bei, und beim Dekomprimieren wird er auch automatisch auf den absoluten Pfad dekomprimiert

●**-v: ** Der (De-)Komprimierungsprozess zeigt den Dateiverarbeitungsprozess an, der häufig verwendet wird, aber für große Dateien nicht empfohlen wird

2. Inkrementelle Datensicherung (Website)

Viele Systeme (Anwendungen oder Websites) generieren täglich statische Dateien. Wenn einige wichtigere statische Dateien regelmäßig gesichert werden müssen, können diese durch TAR-Paketierung komprimiert und an einem bestimmten Ort gesichert werden, insbesondere für einige Gesamtdateien sind relativ groß. In vielen Fällen können Sie auch die Option -g verwenden, um eine inkrementelle Sicherung durchzuführen.

Am besten verwenden Sie einen relativen Pfad für das Sicherungsverzeichnis, d. h. geben Sie das Stammverzeichnis ein, das gesichert werden muss

Die spezifische Beispielmethode ist wie folgt.

备份当前目录下的所有文件# tar -g /tmp/snapshot_data.snap -zcpf /tmp/data01.tar.gz .在需要恢复的目录下解压恢复# tar -zxpf /tmp/data01.tar.gz -C .

Die Option

-g kann so verstanden werden, dass sie während der Sicherung einen Snapshot der Verzeichnisdatei erstellt und Informationen wie Berechtigungen und Attribute aufzeichnet. Wenn /tmp/snapshot_data.snap während der ersten Sicherung nicht vorhanden ist, wird eine neue erstellt und erstellt Vollständige Sicherung. Wenn die Dateien im Verzeichnis geändert werden, führen Sie den ersten Sicherungsbefehl erneut aus (denken Sie daran, den Namen der nachfolgenden Archivdatei zu ändern). Die geänderten Dateien, einschließlich Berechtigungen und Attribute, werden automatisch automatisch inkrementell gesichert, basierend auf der durch - angegebenen Snapshot-Datei. g. Verschobene Dateien werden nicht erneut gesichert.

Beachten Sie außerdem, dass es sich bei der oben genannten Wiederherstellung um eine „Erhaltungswiederherstellung“ handelt, d beibehalten. Wenn Sie also die Dateien genau so wiederherstellen möchten, wie sie gesichert wurden, müssen Sie das ursprüngliche Verzeichnis löschen. Wenn inkrementelle Sicherungsdateien vorhanden sind, müssen Sie diese Dateien mit derselben Methode separat dekomprimieren und auf die Reihenfolge achten.

Das Folgende zeigt ein umfassenderes Beispiel. Die Anforderungen sind:

●Sichern Sie das Verzeichnis /tmp/data, schließen Sie jedoch das Cache-Verzeichnis und die temporären Dateien aus

●Da das Verzeichnis relativ groß ist (>4G), müssen die Sicherungsdateien in vollständige Sicherungsdateien aufgeteilt werden (z. B. kann jede Sicherungsdatei bis zu 1G groß sein)

●Behalten Sie alle Dateiberechtigungen und -attribute bei, z. B. Benutzergruppen sowie Lese- und Schreibberechtigungen

# cd /tmp/data

Erstellen Sie ein vollständiges Backup

# rm -f /tmp/snapshot_data.snap

# tar -g /tmp/snapshot_data.snap -zcpf – –exclude=./cache ./ |. split -b 1024M – /tmp/bak_data$(date -I).tar.gz_

Nach der Aufteilung folgen auf den Dateinamen aa, ab, ac,... und das obige endgültige Sicherungsarchiv wird als

gespeichert

bak_data2014-12-07.tar.gz_aa

bak_data2014-12-07.tar.gz_ab

bak_data2014-12-07.tar.gz_ac

Inkrementelles Backup

Es kann sich um denselben Befehl wie bei einer vollständigen Sicherung handeln. Beachten Sie jedoch, dass es bei mehreren Sicherungen am Tag zu doppelten Dateinamen kommen kann, was zu

führt

Backup-Implementierung, da Split weiterhin beginnend mit aa, ab benannt wird. Wenn die Menge der Dateigenerierung (Änderung) an einem Tag nicht besonders groß ist, wird empfohlen, den inkrementellen Teil nicht zu erhöhen

Aufgeteilte Verarbeitung: (Wenn eine Aufteilung erforderlich ist, fügen Sie dem Dateinamen eine detailliertere Zeit hinzu, z. B. $(Datum +%Y-%m-%d_%H))

# tar -g /tmp/snapshot_data.snap -zcpf /tmp/bak_data2014-12-07.tar.gz –exclude=./cache ./

Zusätzliche Reserven am nächsten Tag

# tar -g /tmp/snapshot_data.snap -zcpf /tmp/bak_data2014-12-08.tar.gz –exclude=./cache ./

Wiederherstellungsprozess

Vollständige Backup-Archivdateien wiederherstellen

Sie können wählen, ob zuerst das Verzeichnis /tmp/data/ geleert werden soll

# cat /tmp/bak_data2014-12-07.tar.gz_* |. tar -zxpf – -C /tmp/data/

Inkrementelle Backup-Archivdateien wiederherstellen

$ tar –zxpf /tmp/bak_data2014-12-07.tar.gz -C /tmp/data/

$ tar –zxpf /tmp/bak_data2014-12-08.tar.gz -C /tmp/data/

Stellen Sie sicher, dass die Wiederherstellung in chronologischer Reihenfolge erfolgt. Die folgenden Dateinamenregeln können auch das oben genannte Platzhalterformular verwenden

Wenn Sie eine regelmäßige Sicherung benötigen, z. B. eine vollständige Sicherung einmal pro Woche und eine inkrementelle Sicherung einmal täglich, können Sie diese mit crontab kombinieren.

3. Dateisystem sichern

Es gibt viele Möglichkeiten, ein Dateisystem zu sichern, z. B. cpio, rsync, dump, tar. Hier ist ein Beispiel für die Sicherung des gesamten Linux-Systems über tar. Der gesamte Sicherungs- und Wiederherstellungsprozess ähnelt dem oben genannten.

Zuallererst gibt es einige Verzeichnisse unter Linux (hier CentOS), die nicht gesichert werden müssen, wie zum Beispiel /proc, /lost+found, /sys, /mnt, /media, /dev, /proc, /tmp . Wenn Sie auf Band/ sichern, müssen Sie sich nicht so viele Gedanken über dev/st0 machen, da ich die Sicherung im lokalen /backup-Verzeichnis durchführe und daher auch einige andere über NFS oder Netzwerkspeicher bereitgestellte Verzeichnisse ausschließen muss.

Ausschlusslistendatei erstellen

# vi /backup/backup_tar_exclude.list

/Sicherung

/proc

/verloren+gefunden

/sys

/Monat

/Medien

/dev

/tmp

$ tar -zcpf /backup/backup_full.tar.gz -g /backup/tar_snapshot.snap –exclude-from=/backup/tar_exclude.list /

4.Achtung

Wenn Sie tar zum Sichern von Daten oder Dateisystemen verwenden, müssen Sie überlegen, ob Sie die Wiederherstellung auf dem ursprünglichen System oder einem anderen neuen System durchführen möchten.

●tar-Backup hängt stark vom atime-Attribut der Datei ab,

●Der Benutzer, zu dem die Datei gehört, wird anhand der Benutzer-ID ermittelt. Bei der maschinenübergreifenden Wiederherstellung muss berücksichtigt werden, dass derselbe Benutzer dieselbe USERID hat

●Versuchen Sie, während des Sicherungs- und Wiederherstellungsprozesses keine anderen Prozesse auszuführen, da dies zu Dateninkonsistenzen führen kann

●Soft- und Hard-Verbindungsdateien können normal wiederhergestellt werden

Das obige ist der detaillierte Inhalt vonErweiterte Verwendung des Linux-Befehls tar – Daten sichern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lxlinux.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen