Tato příručka vysvětluje, co je Restic, jak nainstalovat Restic v různých distribucích Linuxu a nakonec, jak zálohovat a obnovovat data pomocí Restic v operačních systémech Linux.
Restic – rychlá, bezpečná a efektivní zálohovací aplikace
Restic je rychlý, open source, bezpečný a multiplatformní zálohovací program. Umožňuje uložit více revizí souborů a adresářů do šifrovaného úložiště uloženého na různých backendech.
Restic používá kryptografii k zajištění důvěrnosti a integrity vašich dat. Šifruje data pomocí AES-256 v režimu čítače a ověřte jej pomocí Poly1305-AES ověřovací kód kryptografické zprávy.
Zálohování a obnova dat pomocí Restic je snadná a velmi rychlá! Přenese pouze upravené soubory (přírůstková záloha) stejně jako Rsync .
Pomocí Restic můžeme snadno zálohovat soubory a adresáře na místní disk nebo vzdálený systém nebo cloudové úložiště. Restic podporuje populární backendy cloudového úložiště, jako je AWS, Azure, BackBlaze, Google Cloud, OpenStack a několik dalších.
Restic se píše pomocí Go programovací jazyk a jeho zdrojový kód je volně dostupný na GitHubu. Jedná se o multiplatformní zálohovací aplikaci. Podporuje GNU/Linux, macOS, FreeBSD, openBSD a Microsoft Windows.
Nainstalujte Restic v Linuxu
Restic je balíček pro oblíbené operační systémy Linux.
Instalace Restic v Alpine Linux:
$ sudo apk add restic
Instalace Restic v Arch Linux, EndeavourOS, Manjaro Linux:
Restic je k dispozici ve výchozích úložištích Arch Linuxu. Ujistěte se, že [Community]
úložiště je povoleno a nainstalujte Restic v Arch Linuxu a jeho variantách, jako je EndeavourOS, Manjaro Linux pomocí Pacmana jak je uvedeno níže.
$ sudo pacman -S restic
Instalovat Restic z AUR:
Restic je k dispozici také v AUR. Můžete jej tedy nainstalovat pomocí jakýchkoli pomocníků AUR, jako je Paru nebo Ano , v systémech založených na Arch.
$ paru -S restic-git
Nebo,
$ yay -S restic-git
Nainstalujte Restic v Debianu, Ubuntu, Linux Mintu, Pop_OS!:
$ sudo apt-get install restic
Instalace Restic ve Fedoře:
$ sudo dnf install restic
Instalujte Restic v RHEL, CentOS, AlmaLinux a Rocky Linux:
$ sudo dnf copr enable copart/restic
$ sudo dnf install restic
Instalace Restic v Solus:
$ sudo eopkg install restic
Instalace Restic v operačním systému Nix:
$ nix-env --install restic
Nainstalujte Restic do openSUSE:
$ sudo zypper install restic
Instalujte restic pomocí Linuxbrew:
$ brew install restic
Instalovat Restic ze zdroje:
Pro ostatní operační systémy jej můžete zkompilovat a nainstalovat, jak je uvedeno níže. Nejprve se ujistěte, že máte nainstalovanou aplikaci Go jazyk ve vašem systému.
- Jak nainstalovat jazyk Go v systému Linux
Jakmile Go nainstalujete, git clone restic github repository:
$ git clone https://github.com/restic/restic
Tento příkaz naklonuje veškerý obsah restic úložiště v aktuálním pracovním adresáři.
Cd do zbývajícího adresáře:
$ cd restic
A nainstalujte Restic jako níže:
$ go run build.go
Zkontrolujte nainstalovanou verzi Restic:
$ restic version restic 0.12.0 compiled with go1.14.12 on linux/amd64
Aktualizovat Restic
Pokud jste Restic nainstalovali z oficiálních repozitářů, může to být trochu stará verze.
Chcete-li aktualizovat Restic na nejnovější verzi, spusťte:
$ sudo restic self-update
Nyní zkontrolujte jeho verzi příkazem:
$ restic version restic 0.12.1 compiled with go1.16.6 on linux/amd64
Zálohování a obnova dat pomocí Restic v Linuxu
Restic podporuje následující backendy pro ukládání zálohy:
- Místní adresář,
- server sftp (přes SSH),
- server HTTP REST,
- AWS S3,
- OpenStack Swift,
- BackBlaze B2,
- Microsoft Azure Blob Storage,
- Google Cloud Storage,
- A mnoho dalších služeb prostřednictvím rclone .
Nyní se podívejme, jak zálohovat a obnovovat data v místním adresáři.
Vytvořit nové místní úložiště
Nejprve vytvořte úložiště pro uložení zálohy. Chystám se například vytvořit úložiště s názvem moje záloha v mém $HOME adresáři.
$ restic init --repo ~/mybackup
Dvakrát zadejte heslo pro úložiště. Pro pozdější přístup k tomuto úložišti si musíte zapamatovat heslo. V opačném případě trvale ztratíte data uložená v úložišti. Byli jste varováni!
enter password for new repository: enter password again: created restic repository c1c5bcfdb8 at /home/sk/mybackup Please note that knowledge of your password is required to access the repository. Losing your password means that your data is irrecoverably lost.

Jak vidíte ve výše uvedeném výstupu, lokální restitivní úložiště s ID c1c5bcfdb8
je vytvořen na /home/sk/mybackup
umístění.
Nyní je čas zálohovat data do nově vytvořeného úložiště.
Zálohujte data do místního adresáře pomocí Restic
Chystám se zálohovat celý ~/mydata
adresáře (včetně samotného adresáře) do úložiště ~/mybackup
pomocí příkazu:
$ restic -r ~/mybackup backup ~/mydata
Zadejte heslo svého úložiště:
Ukázkový výstup:
enter password for repository: repository c1c5bcfd opened successfully, password is correct no parent snapshot found, will read all files Files: 7 new, 0 changed, 0 unmodified Dirs: 4 new, 0 changed, 0 unmodified Added to the repo: 21.919 MiB processed 7 files, 21.913 MiB in 0:00 snapshot 7457d80e saved

Jak můžete vidět, restic vytvořil zálohu daného adresáře, tj. mydata . Navíc jsem vytvořil snímek aktuální zálohy s jedinečným názvem 7457d80e .
Pojďme rozebrat výše uvedený příkaz a uvidíme, co jednotlivé možnosti dělají.
restic
:Příkaz restic-r
:Označuje úložiště~/mybackup
:Název úložištěbackup
- Dílčí příkaz Restic pro zálohování souborů/složek~/mydata
- Adresář k zálohování.
Přidejte další soubory/složky do záložního adresáře. Například jsem přidal nový soubor s názvem vi editor.pdf
v ~/mydata
adresář. Nyní spusťte znovu stejný restic příkaz:
$ restic -r ~/mybackup backup ~/mydata enter password for repository: repository c1c5bcfd opened successfully, password is correct using parent snapshot 7457d80e Files: 1 new, 0 changed, 7 unmodified Dirs: 0 new, 3 changed, 1 unmodified Added to the repo: 50.123 KiB processed 8 files, 21.957 MiB in 0:00 snapshot 963d4de3 saved

Restic bude vytvářet nové snímky s jedinečným názvem pokaždé, když jej spustíme.
Vzhledem k tomu, že Restic provádí přírůstkové zálohování, budou následující zálohy mnohem rychlejší než předchozí zálohy. Můžeme průběžně přidávat data do záložní složky a spustit zálohu, abychom vytvořili mnoho snímků.
Nejen adresáře, Restic nám také umožňuje zálohovat jednotlivé soubory.
$ restic -r ~/mybackup backup ~/mydata/vi\ editor.pdf
Ukázkový výstup:
enter password for repository: repository c1c5bcfd opened successfully, password is correct no parent snapshot found, will read all files Files: 1 new, 0 changed, 0 unmodified Dirs: 3 new, 0 changed, 0 unmodified Added to the repo: 47.129 KiB processed 1 files, 45.139 KiB in 0:00 snapshot 59439d78 saved
Jak vidíte, v úložišti je vytvořen nový snímek s názvem 59439d78.
Seznam snímků
Chcete-li zobrazit seznam dostupných snímků v místním úložišti, spusťte:
$ restic -r ~/mybackup snapshots
Ukázkový výstup:
enter password for repository: repository c1c5bcfd opened successfully, password is correct ID Time Host Tags Paths ---------------------------------------------------------------------- 7457d80e 2021-08-13 12:51:58 ostechnix /home/sk/mydata 963d4de3 2021-08-13 12:57:55 ostechnix /home/sk/mydata ---------------------------------------------------------------------- 2 snapshots

Jak vidíte, mám 2 snímky, konkrétně 7457d80e a 963d4de3 .
Zkontrolujte rozdíl mezi dvěma snímky
Pro kontrolu rozdílu mezi dvěma snímky můžeme použít diff možnost jako níže:
$ restic -r ~/mybackup diff 7457d80e 963d4de3
Tento příkaz porovná dané dva snímky a vypíše rozdíly, tj. které soubory jsou přidány, kolik souborů a adresářů je odstraněno z úložiště.
enter password for repository: repository c1c5bcfd opened successfully, password is correct comparing snapshot 7457d80e to 963d4de3: + /home/sk/mydata/vi editor.pdf Files: 1 new, 0 removed, 0 changed Dirs: 0 new, 0 removed Others: 0 new, 0 removed Data Blobs: 1 new, 0 removed Tree Blobs: 4 new, 4 removed Added: 50.123 KiB Removed: 4.511 KiB

Jak vidíte, přidal jsem do zálohy nový soubor PDF.
Vyloučit soubory a složky
Je také možné vyloučit některé soubory nebo adresáře. Například následující příkaz vyloučí všechny .doc zadejte soubory:
$ restic -r ~/mybackup backup --exclude=*.doc ~/mydata
Případně můžete do souboru vložit skutečné umístění všech souborů a složek, které chcete ze zálohy vyloučit, a zadat jeho cestu v příkazu backup.
Vytvořte například soubor s názvem exclude :
$ vi exclude.txt
Přidejte soubory nebo složky, které chcete vyloučit:
*.txt ostechnix.zip mydata/movies
Nyní spusťte proces zálohování pomocí příkazu:
$ restic -r ~/backup backup --exclude-file=exclude.txt ~/mydata
Další podrobnosti o restic backup
příkaz, prosím spusťte:
$ restic help backup
Nyní jsme úspěšně zálohovali naše data. Dále uvidíme, jak obnovit data z místní zálohy.
Obnovení dat pomocí Restic
Obnovení dat je snadné!
Nejprve vypište dostupné snímky z úložiště pomocí příkazu:
$ restic -r ~/mybackup snapshots
Chcete-li obnovit data z konkrétního snímku, například 7457d80e
, spustit:
$ restic -r ~/mybackup restore 7457d80e --target ~/mydata
Ukázkový výstup:
enter password for repository: repository c1c5bcfd opened successfully, password is correct restoring <Snapshot 7457d80e of [/home/sk/mydata] at 2021-08-13 12:51:58.592771333 +0530 IST by [email protected]> to /home/sk/mydata

Právě jsme obnovili data ze snímku 7457d80e na ~/mydata adresář.
Chcete-li obnovit jeden soubor ze snímku, provedeme:
$ restic -r ~/mybackup restore 7457d80e --target ~/mydata file.json
Další podrobnosti naleznete v části restore
sekce nápovědy k příkazům.
$ restic help restore
Připojte úložiště pro zobrazení zálohovaných dat
Zálohu můžete procházet jako běžný souborový systém. To se hodí, když chcete zobrazit obsah úložiště.
Nejprve vytvořte přípojný bod:
$ mkdir ostechnix
Poté připojte své úložiště na ostechnix bod připojení, jak je znázorněno níže.
$ restic -r ~/mybackup mount ostechnix/
Tento příkaz připojí úložiště Restic do vašeho místního souborového systému.
enter password for repository: repository c1c5bcfd opened successfully, password is correct Now serving the repository at ostechnix/ When finished, quit with Ctrl-c or umount the mountpoint.
Nyní otevřete správce souborů a uvidíte, že je tam připojeno vaše úložiště. Přejděte do složky snímků a ověřte data.

Až budete hotovi, stiskněte Ctrl-c
pro ukončení nebo odpojení přípojného bodu ze Správce souborů.
Další podrobnosti naleznete v části nápovědy:
$ restic help mount
Odebrání snímků
Nejprve vypište všechny dostupné snímky v úložišti:
$ restic -r ~/mybackup snapshots enter password for repository: repository c1c5bcfd opened successfully, password is correct ID Time Host Tags Paths ---------------------------------------------------------------------- 7457d80e 2021-08-13 12:51:58 ostechnix /home/sk/mydata 963d4de3 2021-08-13 12:57:55 ostechnix /home/sk/mydata ---------------------------------------------------------------------- 2 snapshots
Chcete-li odstranit snímek, například 963d4de3 , spustit:
$ restic -r ~/mybackup forget 963d4de3
Ukázkový výstup:
enter password for repository: repository c1c5bcfd opened successfully, password is correct [0:00] 100.00% 1 / 1 files deleted
Zkontrolujte, zda je snímek odstraněn nebo ne:
$ restic -r ~/mybackup snapshots enter password for repository: repository c1c5bcfd opened successfully, password is correct ID Time Host Tags Paths ---------------------------------------------------------------------- 7457d80e 2021-08-13 12:51:58 ostechnix /home/sk/mydata ---------------------------------------------------------------------- 1 snapshots

Snímek je pryč! Data, na která odkazovaly soubory v tomto snímku, jsou však stále uložena v úložišti.
Chcete-li vyčistit data bez odkazu, spusťte:
$ restic -r ~/mybackup prune
Ukázkový výstup:
enter password for repository: repository c1c5bcfd opened successfully, password is correct loading indexes... loading all snapshots... finding data that is still in use for 1 snapshots [0:00] 100.00% 1 / 1 snapshots searching used packs... collecting packs for deletion and repacking [0:00] 100.00% 8 / 8 packs processed to repack: 0 blobs / 0 B this removes 0 blobs / 0 B to delete: 5 blobs / 50.279 KiB total prune: 5 blobs / 50.279 KiB remaining: 25 blobs / 21.919 MiB unused size after prune: 0 B (0.00% of remaining size) rebuilding index [0:00] 100.00% 6 / 6 packs processed deleting obsolete index files [0:00] 100.00% 3 / 3 files deleted removing 2 old packs [0:00] 100.00% 2 / 2 files deleted done
Po odstranění všech snímků a souvisejících dat můžete odstranit úložiště.
$ rm -fr ~/mybackup/
Závěr
Nyní víte, jak nainstalovat a používat zálohovací program Restic k ochraně vašich důležitých dat. Zabývali jsme se pouze tím, jak zálohovat soubory a složky do místního adresáře pomocí Restic. Je toho víc! V našich nadcházejících průvodcích uvidíme, jak zálohovat data do vzdáleného systému a cloudového úložiště.
Doporučuji také zkontrolovat oficiální dokumentaci Restic pro podrobnější použití.