GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu provést atomické přírůstkové zálohy běžícího linuxového systému pomocí freewaru?

Jak jste zmínil, BTRFS to umí. Takto pravidelně zálohuji svůj notebook (který má dobu provozu 9 týdnů, 5 dní při psaní).

V rámci mého souborového systému BTRFS mám dílčí svazky. Způsob, jakým svá data rozdělíte do podsvazků a jak je vnoříte, zde není důležitý, pokud k ukládání dat, která chcete zálohovat, nepoužíváte kořen souborového systému.

Následující příkazy jsou pro ilustraci syntaxe a možností, doporučuji je zabalit do skriptu, který běží jako cronjob nebo systemd.timer.

Chcete-li pořídit snímek dílčího svazku:

btrfs subvolume snapshot -r <source> <dest>

Postup serializace snímku:

btrfs send <snapshot>

Chcete-li serializovat snímek vzhledem ke staršímu (tj. rozdílovému):

btrfs send -p <start> <end>

Chcete-li vygenerovat rozdíl, komprimovat za běhu a odeslat na záložní server, s monitorováním „progresu“:

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

Chcete-li udělat něco podobného, ​​ale znovu vytvořit podsvazky BTRFS na záložním serveru, nikoli pouze komprimované streamy BTRFS:

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

Chcete-li obnovit, použijte své snímky do nového souborového systému BTRFS pomocí btrfs receive .

Zde je více informací o přírůstkových zálohách BTRFS


Jak řekl @mark-k-cowan, můžete to udělat pomocí snímků btrfs. btrfs je pro mě příliš nezralé. Použití zfs a jeho snapshotování by bylo lepší. Jak řekl @brady-dean, snímky LVM jsou metodou agnostickou pro souborový systém. Snímky LVM mohou mít obrovský negativní dopad na výkon.

Acronis má modul jádra, který pracuje na vrstvě bloků a vytváří snímky. Ovladač Datto Block Driver je modul jádra GPLv2 (ehm "freeware"), který dělá to samé. (Odmítnutí odpovědnosti:Nikdy jsem to nepoužil.)


Linux
  1. Jak zálohovat celý systém Linux pomocí Rsync

  2. Jak zkontrolovat, zda systém Linux běží na fyzickém systému nebo virtuálním počítači?

  3. Jak najdu svou verzi shellu pomocí příkazu Linux?

  1. Zvládneš to? Kompilace programů C v systému Linux pomocí příkazu Make

  2. Jak zkontrolovat, zda proces stále běží pomocí Pythonu na Linuxu?

  3. Jak zajistit, aby aplikace stále běžela na Linuxu

  1. Jak vytvořit server CS:GO na Linux VPS

  2. Jak zkontrolovat všechny běžící služby v Linuxu

  3. Jak zjistím, jakou verzi Linuxu používám?