GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich mit Freeware atomare inkrementelle Backups eines laufenden Linux-Systems erstellen?

Wie Sie bereits erwähnt haben, kann BTRFS dies tun. So sichere ich regelmäßig meinen Laptop (der eine Betriebszeit von 9 Wochen, 5 Tagen hat, während ich dies schreibe).

In meinem BTRFS-Dateisystem habe ich Subvolumes. Die Art und Weise, wie Sie Ihre Daten in Subvolumes aufteilen und wie Sie sie verschachteln, ist hier unwichtig, solange Sie nicht das Stammverzeichnis des Dateisystems verwenden, um Daten zu speichern, die Sie sichern möchten.

Die folgenden Befehle sollen die Syntax und Möglichkeiten veranschaulichen, ich empfehle, sie in ein Skript einzupacken, das als Cronjob oder systemd.timer ausgeführt wird.

So erstellen Sie einen Snapshot eines Subvolumes:

btrfs subvolume snapshot -r <source> <dest>

So serialisieren Sie einen Snapshot:

btrfs send <snapshot>

So serialisieren Sie einen Snapshot relativ zu einem älteren (d. h. differentiell):

btrfs send -p <start> <end>

Um ein Diff zu generieren, spontan zu komprimieren und an den Backup-Server zu senden, mit "Fortschritts"-Überwachung:

btrfs send -p <start> <end> | \
    pv -bart | \
    pbzip2 --best | \
    ssh [email protected] "cat > /backups/name.bz2"

Um ähnlich vorzugehen, aber die BTRFS-Subvolumes auf dem Backup-Server neu zu erstellen, anstatt nur komprimierte BTRFS-Streams:

btrfs send -p <start> <end> | \
    pv -bart | \
    pbzip2 --best | \
    ssh [email protected] "pbzip2 -d | \
    btrfs receive <target>"

Wenden Sie zum Wiederherstellen Ihre Snapshots über btrfs receive auf ein neues BTRFS-Dateisystem an .

Hier finden Sie weitere Informationen zu inkrementellen BTRFS-Sicherungen


Wie @mark-k-cowan sagte, können Sie dies mit Btrfs-Snapshots tun. btrfs ist mir zu unausgereift. Die Verwendung von zfs und seinem Snapshot wäre besser. Wie @brady-dean sagte, sind LVM-Snapshots eine dateisystemunabhängige Methode. LVM-Snapshots können enorme negative Auswirkungen auf die Leistung haben.

Acronis verfügt über ein Kernel-Modul, das auf Blockebene arbeitet, um Snapshots zu erstellen. Der Datto Block Driver ist ein GPLv2 (ähm „Freeware“) Kernelmodul, das dasselbe tut. (Haftungsausschluss:Ich habe es nie benutzt.)


Linux
  1. So sichern Sie Ihr gesamtes Linux-System mit Rsync

  2. Wie kann ich mit Python unter Linux überprüfen, ob ein Prozess noch läuft?

  3. So stellen Sie sicher, dass eine Anwendung unter Linux weiterhin ausgeführt wird

  4. Wie finde ich meine Shell-Version mit einem Linux-Befehl?

  5. Wie kann ich feststellen, welche Version von Linux ich verwende?

So finden Sie Linux-Systemdetails mit inxi

So fügen Sie unter Linux ein neues Gerät zum BTRFS-Dateisystem hinzu

So mounten Sie ein Remote-Linux-Dateisystem mit SSHFS

So aktualisieren Sie das openSUSE-Linux-System

So erhalten Sie Hardwareinformationen unter Linux mit dem Befehl dmidecode

Wie kann ich C++-Code profilieren, der unter Linux ausgeführt wird?