GNU/Linux >> Znalost Linux >  >> Linux

Jak zálohovat a obnovovat soubory pomocí BorgBackup v Linuxu

V Linuxu existuje několik nástrojů pro zálohování, které poskytují funkce pro zálohování na úrovni systému i zálohování uživatelských dat. V tomto obsáhlém článku se podíváme na to, co je BorgBackup a jak zálohovat a obnovovat soubory pomocí Borg v Linuxu a systémech podobných Unixu.

1. Úvod

Když ve své práci nakládám s velkým množstvím dat, napadají mě jako první zřejmé otázky:1. Co když o svá data přijdu? 2. Jak dobře jsou moje data zabezpečena?

Stejný scénář bude aplikován na osobní stroj. Svá data byste měli vždy zálohovat v závislosti na jejich důležitosti a chránit je před nelegálním přístupem.

Ať už se jedná o vaše osobní data nebo oficiální data, měli byste vždy naplánovat dobrou strategii zálohování a používat robustní nástroje pro zálohování, které vám pomohou se zálohováním vašich důležitých dat. Jednou z nejvíce doporučovaných a široce používaných aplikací pro zálohování s otevřeným zdrojovým kódem je "Borg" .

2. Co je Borg?

BorgBackup, zkráceně borg, je zálohovací nástroj, který byl vytvořen, aby poskytoval efektivní způsob zálohování dat pomocí techniky deduplikace.

Některé z jedinečných vlastností borgu jsou uvedeny níže.

  • Deduplikace - Technika deduplikace ukládá pouze přírůstkové kopie dat, což je ideální pro každodenní zálohování.
  • Více platforem - Borg lze nainstalovat a používat v systémech Linux, Mac OS X a FreeBSD.
  • Zabezpečení - Podporuje šifrování dat pomocí AES šifrování (256bitové), k ověření pravosti HMAC-SHA256 se používá.
  • Komprese - Data lze komprimovat pomocí následujících metod komprese:
    • LZ4 -> Super rychlý, nízká komprese.
    • ZSTD -> Vysoká rychlost a nízká komprese na nízkou rychlost a vysokou kompresi.
    • ZLIB -> Střední rychlost, střední komprese.
    • LZMA -> Nízká rychlost, vysoká komprese.
  • Vzdálené zálohování - Data lze zálohovat na vzdálené počítače přes protokol SSH.

3. Nainstalujte Borg v Linuxu

Borg je k dispozici ve výchozích repozitářích většiny distribucí Linuxu. Lze jej tedy nainstalovat pomocí správce balíčků specifického pro distribuci.

Chcete-li nainstalovat borg v Alpine Linux, spusťte následující příkaz:

$ sudo apk přidat borgbackup

Chcete-li nainstalovat borg v Arch Linuxu a jeho variantách, jako je EndeavourOS a Manjaro Linux, spusťte následující příkaz:

$ sudo pacman -S borg

Nainstalujte borg v distribuci založené na Debianu/Ubuntu:

$ sudo apt install borgbackup -y

Nainstalujte borg ve Fedoře, RHEL, CentOS, AlmaLinux a Rocky Linux:

$ sudo dnf nainstalovat borgbackup -y

Nainstalujte Borg do openSUSE:

$ sudo zypper nainstalovat borgbackup -y

Protože borg je napsán v Pythonu , můžete použít správce balíčků python PiP nainstalovat borg. V závislosti na nainstalované verzi pip můžete spustit kterýkoli z následujících příkazů.

$ pip install borgbackup

Nebo,

$ pip3 nainstalovat borgbackup

Po instalaci můžete ověřit instalaci Borg spuštěním příkazů verze a nápovědy:

$ borg --version
$ borg --help

4. Udělejte si první zálohu pomocí Borg

Než provedete první zálohu, musíte pochopit dva důležité pojmy.

  • Archiv - Záložní kopie (snímky) vašich dat bude označována jako archiv.
  • Úložiště - Adresáře ve vašem místním nebo vzdáleném systému souborů, kde jsou uloženy archivy.

Nejprve inicializujte úložiště (adresář), kde budou archivy uloženy.

Mám seznam souborů v adresáři s názvem "zdroj" a vytvořili nový adresář s názvem "backup" který bude fungovat jako moje úložiště pro ukládání archivů.

5. Inicializujte úložiště

Spusťte borg init příkaz k inicializaci záložního adresáře. Záložní adresář může být v místním počítači nebo ve vzdáleném počítači. V mém případě inicializujem adresář (tj. zálohu ), který jsem již vytvořil.

$ borg init --encryption=none /home/karthick/borg/backup
$ borg init --encryption=repokey /home/karthick/borg/backup
$ borg init --encryption=keyfile /home/karthick/borg/backup

Při inicializaci úložiště si můžete vybrat typ šifrování . Když používáte typ šifrování „Žádné“ , nebude použito žádné šifrování. Když používáte "repokey" a "soubor klíče" jako typy šifrování používá AES-CTR-256 pro šifrování.

Vyberte libovolný typ šifrování a spusťte init příkaz. V mém případě volím typ šifrování jako žádné pro demonstrační účely.

6. Zálohujte soubory pomocí Borg

6.1. Vytvořte první zálohu

Jakmile je úložiště inicializováno, můžete vytvořit zálohy spuštěním následujícího příkazu:

$ borg create --stats --progress /home/karthick/borg/backup::25-11-2021 /home/karthick/borg/source/

Zde uvádím název archivu ve formátu data "25-11-2021" simulace denních záloh. Bez --stats a --progress flags, výstup příkazu create bude tichý.

6.2. Zobrazovat soubory při vytváření záloh

Můžete také kombinovat --list a -v flag pro zobrazení seznamu souborů v archivu při spuštění borg create příkaz.

$ borg create --list -v /home/karthick/borg/backup/::27-11-2021 /home/karthick/borg/source/

6.3. Vytvářejte komprimované zálohy

Ve výchozím nastavení používá borg lz4 kompresní algoritmus. Kompresní algoritmus lz4 je velmi rychlý a má nízký kompresní poměr. V případě, že chcete použít jiný kompresní algoritmus, můžete použít --compression flag a předat typ spolu s úrovní komprese.

Například, pokud chci použít zstd algoritmu, pak můj příkaz bude následující.

$ borg create --compression zstd,1 /home/karthick/borg/backup/::27-11-2021 /home/karthick/borg/source/

Můžete se podívat na různé kompresní algoritmy a jejich úroveň z oficiální dokumentace Borg .

6.4. Získejte informace o archivu

Můžete použít info příkaz k získání informací o konkrétním archivu.

$ borg info /home/karthick/borg/backup/::25-11-2021

7. Seznam záloh

Pomocí borg list můžete se dotázat svého úložiště, abyste našli seznam archivů a jaké soubory jsou v archivech.

Chcete-li získat pouze seznam archivů, spusťte následující příkaz.

$ seznam borgů /home/karthick/borg/backup

Ukázkový výstup:

25-11-2021 ČT, 2021-11-25 13:16:53 [653d952301fc70ab9f2f74794361359144e05f5534e668ef4a4957d377f679 
26-11-2021 Čt, 2021-11-25 13:19:51 [473bbe30fbe8597b63910310d567e69b501b2fb7127f04a78da76ab59d90114f]
27-11-2021 Čt, 2021-11-25 13:20:01 [0e6813f1a05246d43d196de9d28034d0397b4ae50cd20ee50163e347e2a]

Můžete také použít --json příznak, který poskytne více informací o úložišti a seznamu archivů v json formát.

$ seznam borgů --json /home/karthick/borg/backup

7.1. Seznam souborů v archivech

Chcete-li získat seznam souborů v archivu, spusťte následující příkaz. Zde uvádím soubory z archivu "25-11-2021" .

$ seznam borgů /home/karthick/borg/backup::25-11-2021

Ukázkový výstup:

drwxrwxr-x karthick karthick 0 ČT, 2021-11-25 12:48:58 home/karthick/borg/source 
-rw-r--r-- karthick karthick 807 Po, 2021-11-22 13:35:51 home/karthick/borg/source/project_profile.txt
-rw------- karthick karthick 2301 Po, 2021-11-22 13:35:51 home/karthick/borg/source/hist.txt
-rw-r--r-- karthick karthick 220 Po, 2021-11-22 13:35:51 home/karthick/borg/source/external.txt
-rw-r--r-- karthick karthick 3895 Po, 2021-11-22 13:35:51 home/karthick/borg/source/config.txt

Můžete také použít --json-lines příznakem zobrazíte obsah archivu v JSON formát.

7.2. Vyloučit soubory a adresáře ze zálohy

Soubory a adresáře můžete vyloučit pomocí -e nebo --exclude vlajka.

$ seznam borgů /home/karthick/borg/backup::25-11-2021 --exclude "hist"

8. Najděte rozdíl mezi archivy

Můžete použít diff příkaz k porovnání dvou archivů.

Vytvářím nový soubor s názvem datafile.txt pod source adresář. Vytvořil jsem také jeden další archiv s názvem 28-11-2021 .

Nyní mohu porovnat nový a starý archiv jako níže:

$ borg diff /home/karthick/borg/backup/::27-11-2021 28-11-2021přidáno 2,89 kB home/karthick/borg/source/datafile.txt

9. Přejmenovat archivy

Jakmile je archiv vytvořen a chcete-li jej přejmenovat, můžete tak učinit pomocí borg rename příkaz.

Řekněme, že chci přejmenovat archiv "27-11-2021" do "29-11-2021" , mohu to provést spuštěním následujícího příkazu.

$ borg přejmenovat /home/karthick/borg/backup/::27-11-2021 29-11-2021

10. Obnovte soubory pomocí borg (Extrahujte data z archivu)

Primárním cílem zálohování dat je jejich obnovení, kdykoli je to potřeba. Můžete tedy použít borg extract příkaz k načtení dat z archivů. Když spustíte extract příkaz extrahuje data do aktuálního pracovního adresáře, odkud příkaz extract spouštíte.

Spuštěním následujícího příkazu extrahujte archiv do aktuálního pracovního adresáře. Pomocí -v a --list příznak přidán, zobrazí se vám seznam extrahovaných souborů.

$ borg extract -v --list backup/::25-11-2021

Můžete také použít --dry-run příznak, který pouze zobrazí, co se bude extrahovat, místo toho, aby to extrahovalo.

$ borg extract --dry-run -v --list backup/::25-11-2021

Konkrétní adresář můžete z archivu extrahovat zadáním názvu adresáře. Protože mám v archivu pouze jeden adresář, načte to.

$ borg extract -v --list backup/::25-11-2021 home/karthick/borg/source/

10.1. Vyloučit soubory z obnovy

Můžete také přidat --exclude k vynechání souborů při extrahování adresáře. Zde extrahuji všechny soubory s výjimkou souboru s hist .

$ borg extract -v --list backup/::25-11-2021 home/karthick/borg/source/ --exclude "hist"

11. Připojte a odpojte úložiště a archivy

Úložiště nebo konkrétní archiv můžete připojit jako systém souborů fuse. Poté můžete obnovit soubory pomocí připojeného archivu.

Chcete-li připojit celé úložiště, spusťte následující příkazy:

$ mkdir /tmp/borg/
$ borg mount /home/karthick/borg/backup/ /tmp/borg/
$ ls -l /tmp/borg/

Ukázkový výstup:

drwxr-xr-x 1 karthick karthick 0. listopadu 25 16:31 25. 11. 2021 
drwxr-xr-x 1 karthick karthick 0 25. listopadu 16:31 26-11-2021
drwxr-xr-x 1 karthick karthick 0 25. listopadu 16:31 27-11-2021
drwxr-xr-x 1 karthick karthick 0 25. listopadu 16:31 28-11-2021
drwxr-xr-x 1 karthick karthick 0. listopadu 25 16:32 29-11-2021

Z výše uvedeného výstupu můžete vidět, že všechny moje archivy jsou připojeny jako adresář a nyní je mohu jednoduše obnovit zkopírováním souborů.

Chcete-li připojit konkrétní archivy, stačí přidat název archivu spolu s úložištěm.

$ borg mount /home/karthick/borg/backup/::25-11-2021 /tmp/borg/

Chcete-li odpojit připojené úložiště nebo archivy, použijte borg umount příkaz.

$ borg umount /tmp/borg
$ ls -l /tmp/borg

12. Prořezávat archiv

borg prune Příkaz bude velmi užitečný, když automatizujete zálohování a chcete udržovat pouze určité kopie a čistit zbývající kopie.

Možnosti ve výše uvedené tabulce rozhodují o tom, kolik archivních kopií bude uloženo ve vašem úložišti. Pokud si například chci ponechat pouze 2 kopie z mé týdenní zálohy, pak můj příkaz bude následující.

$ borg prune -v --list --keep-weekly=2 /home/karthick/borg/backup/

Výše uvedenou podmínku můžete také aplikovat pouze na určité archivy. Řekněme, že mám ve svém úložišti 10 archivů a chci pro archiv7 použít pravidlo uchování, pak mohu použít --prefix příznak pro nastavení podmínky.

$ borg prune -v --list --keep-weekly=2 --prefix='{název archivu}' /home/karthick/borg/backup/

Před spuštěním prune proveďte suchý běh pomocí --dry-run vlajka.

13. Smazat úložiště a archiv

Archiv nebo celé úložiště můžete smazat pomocí borg delete příkaz.

Chcete-li odstranit jeden archiv, musíte zadat název archivu.

$ borg delete /home/karthick/borg/backup/::26-11-2021

Chcete-li odstranit celý archiv, stačí zadat cestu k úložišti. Při mazání celého adresáře budete vyzváni k potvrzení.

$ borg smazat /home/karthick/borg/backup/

14. Změnit klíčové heslo

Doposud jsem ukázal svůj příklad bez použití jakéhokoli šifrování na úložiště. Jak bylo předpovězeno v úvodní části, můžete inicializovat adresář s povoleným šifrováním a pokud repokey nebo keyfile je použito, požádá vás o nastavení přístupové fráze volitelně.

$ borg init --encryption=repokey /home/karthick/borg/bkup/

Od této chvíle, kdykoli se pokusím provést jakoukoli operaci nad tímto úložištěm, měl bych pokaždé poskytnout přístupovou frázi. Podívejte se na obrázek níže, snažím se vypsat repozitář a musím pro něj poskytnout přístupovou frázi.

Nyní řekněme, že chcete změnit přístupovou frázi, pak to můžete provést pomocí borg change-passphrase příkaz.

$ borg key change-passphrase -v /home/karthick/borg/bkup

Můžete také nastavit přístupovou frázi pomocí proměnných prostředí.

$ BORG_PASSPHRASE="staré heslo" BORG_NEW_PASSPHRASE="nové heslo" heslo pro změnu klíče borg /home/karthick/borg/bkup

15. Export a import klíč

Klíč úložiště můžete zálohovat jeho exportem a později v případě potřeby importovat.

Chcete-li exportovat klíč, spusťte následující příkaz:

Export klíče $ borg bkup/ ./key
$ cat ./key

Chcete-li importovat klíč do stejného úložiště, spusťte následující příkaz:

import klíče $ borg bkup/ ./key

16. Práce se vzdálenými repozitáři

Cokoli jsme dosud viděli, je zálohování vašich dat na stejném počítači. Borg také podporuje vzdálená úložiště, kde můžete zálohovat svá data na libovolném vzdáleném počítači. Vzdálený hostitel by měl být přístupný přes SSH.

Syntaxe:

$ borg init [e-mail chráněn]:/cesta/k/repo

Příklad:

$ borg init [e-mail chráněný]:/home/karthick/borg/bkup

Můžete provádět všechny druhy podobných operací, které můžete provádět s místním zálohováním. Například k obnovení zálohy můžete použít extract a můžete také použít mount příkaz k připojení vzdáleného úložiště.

Zde při odkazování na vzdálený adresář musíte nasměrovat protokol ssh jako „ssh://[email protected]:port/path/to/repo ".

."
$ borg mount ssh://[e-mail chráněný]:2222/home/karthick/borg/bkup /tmp/borg
$ borg extract ssh://[email protected]:2222/home/karthick/borg/bkup

17. Borg GUI desktop klienti

Protože BorgBackup je čistě nástroj příkazového řádku, je téměř nemožné zapamatovat si všechny příkazy. Někteří z vás by možná dali přednost pěkné grafické aplikaci, která vám umožní zálohovat data přes grafické rozhraní. Nebojte se!

Vorta je desktopový klient GUI pro BorgBackup. Pomocí Vorty můžete snadno integrovat aplikaci Borg do vašeho oblíbeného desktopového prostředí. Není třeba si pamatovat příkazy. Vše lze provést prostřednictvím jednoduchého grafického rozhraní!

Další podrobnosti o instalaci a používání Vorty naleznete v následující příručce.

  • Vorta – grafické rozhraní pro BorgBackup

18. Závěr

V tomto článku jsme viděli, jak používat borg k zálohování a obnově dat v Linuxu. Borg má tolik funkcí, které můžete pochopit testováním nástroje. Dobrou alternativou pro borgy bude Timeshift zálohování na úrovni systému a rsync vzít uživatelské soubory a adresáře.


Linux
  1. MySQL:Jak zálohovat (vypsat) a obnovit databázi pomocí mysqldump

  2. Jak zálohovat a obnovit nastavení aplikací pomocí Mackupu na nově nainstalovaném systému Linux

  3. Jak zálohovat a obnovit úložiště SVN v Linuxu

  1. Jak odstranit adresáře a soubory pomocí Linuxu

  2. Jak archivovat a komprimovat soubory na Linuxu

  3. Jak zálohovat a obnovovat databázi v PostgreSQL

  1. Jak odstranit soubory a adresáře pomocí příkazového řádku systému Linux

  2. Jak přejmenovat soubory a adresáře v Linuxu

  3. Jak komprimovat soubory a adresáře v Linuxu