BorgBackup
Borg Backup je open-source nástroj pro zálohování souborů a složek, který je k dispozici pro operační systémy Linux, macOS. Tento program je navržen tak, aby byl jednoduchý k použití, ale zároveň poskytoval robustní a spolehlivou zálohovací funkci pro ukládání důležitých dat.
BorgBackup
Co je Borg
Borg je open-source nástroj pro zálohování souborů a složek, který je k dispozici pro operační systémy Linux, macOS. Tento program je navržen tak, aby byl jednoduchý k použití, ale zároveň poskytoval robustní a spolehlivou zálohovací funkci pro ukládání důležitých dat.
Borg používá jedinečnou technologii komprese dat, což umožňuje ukládat velké objemy dat v menších souborech, což zase znamená, že je možné ušetřit místo na disku. Další výhodou Borg Backupu je jeho rychlost – rychle zálohuje a obnovuje data, což je užitečné pro uživatele, kteří potřebují často měnit a ukládat data.
Borg poskytuje uživateli možnost zálohovat data do lokálního úložiště, jako jsou pevné disky, nebo do vzdáleného úložiště, jako jsou cloudové služby nebo FTP servery. Soubory a složky jsou zašifrovány pomocí AES-256, což zajišťuje bezpečnost a ochranu před neoprávněným přístupem.
V Borgu lze nastavit pravidelné zálohování, což znamená, že se data automaticky zálohují v určených intervalech. Tato funkce je užitečná pro uživatele, kteří chtějí mít neustále aktuální zálohu svých dat.
Další výhodou BorgBackup je jednoduchost. Pro zálohování stačí pouze několik příkazů v příkazovém řádku, což umožňuje uživatelům rychle a snadno zálohovat a obnovovat svá data.
Jak Borg funguje
Borg je to, čemu se říká „deduplikační zálohovací program“. Podobně jako u přírůstkových záloh jsou v následných zálohách archivována pouze data, která se skutečně změní na souborovém systému po provedení úplné zálohy, ale podobnosti jsou pouze koncepční. Borg funguje tak, že každý soubor rozdělí na části, které jsou identifikovány jejich hash součtem. Do „úložiště“ jsou přidány pouze bloky, které aplikace nerozpoznají. Tato technika deduplikace je skutečně účinná, protože mimo jiné nám umožňuje přesunout soubor nebo adresář, aniž by to bylo považováno za změnu, a proto vyžaduje další místo. Totéž platí pro časová razítka souborů. To, na čem skutečně záleží, jsou pouze části souborů, které se ukládají pouze jednou. V Linuxu Borg podporuje zachování všech standardních a rozšířených atributů souborového systému, jako jsou ACL a xattrs.
Instalace Borga
Nejprve si musíte nainstalovat Borg. To lze provést pomocí správce balíčků, nebo si můžete stáhnout instalační soubory z oficiálních stránek.
sudo pacman -S borgbackup
Vytvoření repozitáře
Předtím, než začnete zálohovat svá data, musíte vytvořit repozitář, kde se budou data ukládat. Můžete to udělat pomocí následujícího příkazu:
borg init -e repokey-blake2 /cesta/k/repozitari
Tento příkaz vytvoří nový Borg Backup repozitář v zadané cestě.
Vytvoření zálohy
Nyní můžete vytvořit zálohu svých dat pomocí následujícího příkazu:
borg create /cesta/k/repozitari::jmeno-zalohy /cesta/k/slozkam-k-zalohovani
Tento příkaz vytvoří novou zálohu s názvem “jmeno-zalohy” a uloží ji do vašeho Borg Backup repozitáře. Data, která chcete zálohovat, musí být umístěna v adresáři uvedeném po druhém lomítku.
Pravidelné zálohování
Pro pravidelné zálohování můžete použít nástroje jako Cron nebo Systemd timer. Pro příklad zálohování každý den v 2 ráno pomocí Cronu, můžete přidat následující řádek do svého Crontab souboru:
0 2 * * * /usr/bin/borg create /cesta/k/repozitari::`date +\%Y-\%m-\%d` /cesta/k/slozkam-k-zalohovani
Tento příkaz vytvoří zálohu každý den v 2 ráno s aktuálním datem jako název zálohy.
Obnovení zálohy
Pokud potřebujete obnovit data ze zálohy, můžete to udělat pomocí následujícího příkazu:
borg extract /cesta/k/repozitari::jmeno-zalohy /cesta/k/kam-se-data-obnovi
Základní příkazy
borg init
: Tento příkaz vytváří nový záložní repozitář.borg create
: Tento příkaz vytváří novou zálohu vašich souborů nebo složek.borg list
: Tento příkaz vypisuje seznam záloh v záložním repozitáři.borg info
: Tento příkaz poskytuje informace o záložním repozitáři, jako je například jeho velikost a počet záloh.borg extract
: Tento příkaz obnovuje soubory ze zálohy.borg delete
: Tento příkaz odstraňuje zálohy z repozitáře.borg mount
: Tento příkaz umožňuje přístup k obsahu záložního repozitáře jako ke složce, což umožňuje snadnější obnovu souborů.borg prune
: Tento příkaz odstraňuje staré zálohy z repozitáře, aby se uvolnilo místo na disku
To jsou základní kroky pro použití Borg Backup pro zálohování vašich souborů a složek. Samozřejmě existuje mnoho dalších pokročilých funkcí, které můžete použít, abyste co nejlépe využili tohoto nástroje.
Skript na automatickou zálohu i s prořezáváním
Následující skript můžete použít pro vytvoření automatických záloh pomocí Borg Backup:
#!/bin/sh
# Setting this, so the repo does not need to be given on the commandline:
export BORG_REPO=ssh://username@example.com:2022/~/backup/main
# See the section "Passphrase notes" for more infos.
export BORG_PASSPHRASE='XYZl0ngandsecurepa_55_phrasea&&123'
# some helpers and error handling:
info() { printf "\n%s %s\n\n" "$( date )" "$*" >&2; }
trap 'echo $( date ) Backup interrupted >&2; exit 2' INT TERM
info "Starting backup"
# Backup the most important directories into an archive named after
# the machine this script is currently running on:
borg create \
--verbose \
--filter AME \
--list \
--stats \
--show-rc \
--compression lz4 \
--exclude-caches \
--exclude 'home/*/.cache/*' \
--exclude 'var/tmp/*' \
\
::'{hostname}-{now}' \
/etc \
/home \
/root \
/var
backup_exit=$?
info "Pruning repository"
# Use the `prune` subcommand to maintain 7 daily, 4 weekly and 6 monthly
# archives of THIS machine. The '{hostname}-*' matching is very important to
# limit prune's operation to this machine's archives and not apply to
# other machines' archives also:
borg prune \
--list \
--glob-archives '{hostname}-*' \
--show-rc \
--keep-daily 7 \
--keep-weekly 4 \
--keep-monthly 6
prune_exit=$?
# actually free repo disk space by compacting segments
info "Compacting repository"
borg compact
compact_exit=$?
# use highest exit code as global exit code
global_exit=$(( backup_exit > prune_exit ? backup_exit : prune_exit ))
global_exit=$(( compact_exit > global_exit ? compact_exit : global_exit ))
if [ ${global_exit} -eq 0 ]; then
info "Backup, Prune, and Compact finished successfully"
elif [ ${global_exit} -eq 1 ]; then
info "Backup, Prune, and/or Compact finished with warnings"
else
info "Backup, Prune, and/or Compact finished with errors"
fi
exit ${global_exit}
Důležité odkazy:
Vzdálené zálohování pomocí Borgbackup
Instalace Borg Backup
Instalaci Borga
sudo pacman -S borgbackup
Příprava cílového server
Na cílovém serveru je potřeba nainstalovat Borg Backup a vytvořit uživatele, který bude mít práva pro ukládání záloh. Pokud máte server s Ubuntu/Debianem, můžete nainstalovat Borg Backup pomocí příkazu:
sudo apt install borgbackup
Dále vytvořte uživatele s názvem “borg”, který bude mít práva pro ukládání záloh. To lze provést pomocí následujícího příkazu:
sudo adduser borg
Poté je třeba nastavit heslo pro uživatele borg a vytvořit adresář pro ukládání záloh. Vytvořte například adresář “/home/borg/backup”.
mkdir /home/borg/backup
Vytvoření klíče pro přihlášení
Pro přístup k cílovému serveru potřebujeme klíč pro přihlášení. Můžeme použít buď heslo nebo SSH klíč. V tomto tutoriálu se budeme zaměřovat na SSH klíč.
Na stroji, který bude provádět zálohy, vygenerujeme SSH klíč pro uživatele, který bude zálohu provádět. To můžete provést pomocí následujícího příkazu:
ssh-keygen -t rsa
Tento příkaz vygeneruje ve vašem domovském adresáři klíče pro SSH připojení – soubor id_rsa
a soubor id_rsa.pub
.
Nyní nahrajem SSH klíče na server.
cat ~/.ssh/id_rsa.pub | ssh borg@ip-adresa "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"
Může se zobrazit následující zpráva:
Output The authenticity of host 'ip_dadresa' can't be established. ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Are you sure you want to continue connecting (yes/no)? yes
To znamená, že váš místní počítač nerozpozná vzdáleného hostitele. K tomu dojde při prvním připojení k novému hostiteli. Typ yes
a stiskněte ENTER
pokračovat.
Poté byste měli být vyzváni k zadání hesla vzdáleného uživatelského účtu:
Output
borg@ip_adresa's password:
Otestujte přihlášení
- Odhlaste se ze serveru příkazem
exit
- Zkuste se přihlásit na server pomocí SSH opět příkazem
ssh borg@ip_adresa
- Pokud se úspěšně přihlásíte bez zadávání hesla, pak jste správně nahráli klíče SSH na server.
Pokud jste se mohli přihlásit ke svému účtu pomocí SSH bez hesla, úspěšně jste nakonfigurovali ověřování na základě klíče SSH pro váš účet. Váš mechanismus ověřování na základě hesla je však stále aktivní, což znamená, že váš server je stále vystaven útokům hrubou silou.
Na tomto serveru nakonfigurováno ověřování na základě klíče SSH. Před dokončením kroků v této části se ujistěte, že máte pro účet root , nebo pokud možno, že máte na tomto serveru nakonfigurované ověřování na základě klíče SSH pro účet bez oprávnění root. server s sudo
privilegia. Tento krok uzamkne přihlášení založená na heslech, takže je zásadní zajistit, že stále budete moci získat přístup pro správce.
Jakmile potvrdíte, že váš vzdálený účet má oprávnění správce, přihlaste se ke vzdálenému serveru pomocí klíčů SSH, buď jako root nebo pomocí účtu s sudo
privilegia. Poté otevřete konfigurační soubor démona SSH:
sudo nano /etc/ssh/sshd_config
Odkomentujte řádek odstraněním #
a nastavte hodnotu na no
. Tím zakážete možnost přihlášení přes SSH pomocí hesel účtů:
. . . PasswordAuthentication no . . .
Po dokončení uložte a zavřete soubor stisknutím tlačítka CTRL+X
, pak Y
pro potvrzení uložení souboru a nakonec ENTER
pro ukončení nano. Abychom skutečně aktivovali tyto změny, musíme restartovat sshd
servis:
sudo systemctl restart ssh
Vytvořte repozitář
Předtím, než můžete vytvářet zálohy, musíte vytvořit repozitář, což je úložiště pro vaše zálohy. To můžete udělat pomocí následujícího příkazu:
borg init -e repokey-blake2 ssh borg@ip_adresa:/home/borg/backup
Vytváření záloh
- Poté, co jste vytvořili repozitář, můžete začít vytvářet zálohy. Borg Backup umožňuje vytvářet inkrementální zálohy, což znamená, že při každém zálohování se zálohuje pouze změna oproti poslední záloze. To výrazně snižuje velikost záloh a rychlost zálohování.
Pro vytvoření zálohy použijte následující příkaz:
borg create username@remote-server:/path/to/repo::backup-name /path/to/directory
Kde username
je vaše uživatelské jméno na vzdáleném serveru, remote-server
je adresa vzdáleného serveru, /path/to/repo
je cesta k repozitáři na vzdáleném serveru, backup-name
je jméno zálohy a /path/to/directory
je cesta ke složce, kterou chcete zálohovat.
borg list username@remote-server:/path/to/repo
Tento příkaz vypíše seznam všech záloh uložených v repozitáři.
Obnova zálohy
borg extract user@remote:/path/to/repo::backup-name /path/to/restore/folder
Vytvoření skriptu pro zálohování
Nyní musíme vytvořit skript pro zálohování, který bude spouštět BorgBackup a ukládat zálohy do záložního repozitáře.
Vytvořte soubor s názvem “backup.sh” a vložte do něj následující kód:
#!/bin/bash
# Nastavení proměnných
SOURCE="/cesta/k/souborum/k/zalohovani"
REPO="/cesta/k/repozitari"
DATE=`date +%Y-%m-%d`
# Spuštění zálohování
borg create $REPO::$DATE $SOURCE
Tento skript spustí BorgBackup a uloží zálohu do repozitáře s aktuálním datem jako název zálohy.
Otevřete terminál a spusťte příkaz:
Tento příkaz otevře cronovou tabulku
crontab -e
, kde můžete nastavit automatické spouštění skriptu.
Skript na automatické zálohy i sprořezáváním
#!/bin/sh
# Setting this, so the repo does not need to be given on the commandline:
export BORG_REPO=ssh://username@example.com:2022/~/backup/main
# See the section "Passphrase notes" for more infos.
export BORG_PASSPHRASE='XYZl0ngandsecurepa_55_phrasea&&123'
# some helpers and error handling:
info() { printf "\n%s %s\n\n" "$( date )" "$*" >&2; }
trap 'echo $( date ) Backup interrupted >&2; exit 2' INT TERM
info "Starting backup"
# Backup the most important directories into an archive named after
# the machine this script is currently running on:
borg create \
--verbose \
--filter AME \
--list \
--stats \
--show-rc \
--compression lz4 \
--exclude-caches \
--exclude 'home/*/.cache/*' \
--exclude 'var/tmp/*' \
\
::'{hostname}-{now}' \
/etc \
/home \
/root \
/var
backup_exit=$?
info "Pruning repository"
# Use the `prune` subcommand to maintain 7 daily, 4 weekly and 6 monthly
# archives of THIS machine. The '{hostname}-*' matching is very important to
# limit prune's operation to this machine's archives and not apply to
# other machines' archives also:
borg prune \
--list \
--glob-archives '{hostname}-*' \
--show-rc \
--keep-daily 7 \
--keep-weekly 4 \
--keep-monthly 6
prune_exit=$?
# actually free repo disk space by compacting segments
info "Compacting repository"
borg compact
compact_exit=$?
# use highest exit code as global exit code
global_exit=$(( backup_exit > prune_exit ? backup_exit : prune_exit ))
global_exit=$(( compact_exit > global_exit ? compact_exit : global_exit ))
if [ ${global_exit} -eq 0 ]; then
info "Backup, Prune, and Compact finished successfully"
elif [ ${global_exit} -eq 1 ]; then
info "Backup, Prune, and/or Compact finished with warnings"
else
info "Backup, Prune, and/or Compact finished with errors"
fi
exit ${global_exit}
Desktopový klient Vorta
Co je Vorta
Vorta je open-source aplikace pro zálohování dat v Linuxu. Jedním z hlavních důvodů, proč se Vorta stala oblíbenou mezi uživateli Linuxu, je její snadná instalace a použití. Vorta je k dispozici v mnoha distribucích Linuxu, jako je například Ubuntu, Fedora, Debian, Arch Linux a další. Po instalaci aplikace se uživatelé mohou snadno připojit k existujícímu účtu Borg Backup nebo si vytvořit nový účet a začít vytvářet zálohy.
Vorta má také mnoho užitečných funkcí, jako je například možnost plánovat pravidelné zálohování, možnost vytvářet zálohy z různých zdrojů dat, jako jsou například složky, soubory, nebo celé disky, a možnost šifrování záloh pro zajištění bezpečnosti dat.
Dále je také možné vytvářet zálohy na vzdálených serverech.

Výhody
- Šifrované, deduplikované a komprimované zálohy využívající Borg jako backend.
- Žádné uzamčení dodavatelé – zálohujte na místní disky, svůj vlastní server nebo BorgBase , hostingovou službu pro Borgské zálohy.
- Open source – zdarma k použití, úpravě, vylepšení a auditu.
- Flexibilní profily pro seskupování zdrojových složek, cílů zálohování a plánů.
- Jedno místo pro zobrazení všech archivů k určitému okamžiku a obnovení jednotlivých souborů.
Instalace
K instalaci použijte balíček AUR
yay -S vorta
Nastavení Vorty pro místní zálohy
Po spuštění Vorty byste měli vidět nové okno nastavení.

Nastavení místního úložiště
Klikněte na Úložiště rozevírací nabídku a vyberte možnost Inicializovat nové úložiště . Po kliknutí by se mělo objevit nové okno.

Klikněte na ikonu a vyberte adresář, ve kterém chcete inicializovat své nové úložiště Borg. Zadejte vámi vybranou přístupovou frázi pro úložiště. Ujistěte se a uložte své přístupové heslo na bezpečném místě! Když jste si jisti, že jsou všechny informace, které jste zadali, správné, stiskněte Přidat .
Přidejte složky k zálohování
S nastavením úložiště můžete nyní přidat nějaké záložní složky a vytvořit svou první zálohu. Přejděte na kartu Zdroje a přidejte nějaké složky nebo výjimky.

Poté stiskněte Spustit zálohování a proveďte první zálohu. Po každé úspěšné záloze (nebo snímku) bude na Snímek záložku přidán nový řádek. Tam můžete také připojit snímek a obnovit soubory.
Obnovte soubory ze zálohy
Chcete-li začít s obnovou snímku souborů, spusťte Vorta a klikněte na kartu Archivy .

Existují dva způsoby, jak obnovit soubory pomocí Vorta, Extrahování a Připojení . Oba dosahují stejného cíle, ale jeden může být výhodnější než druhý v závislosti na situaci.
Extrahování z archivu
Po otevření karty Archivy ve Vortě a výběru snímku, ze kterého chcete obnovit, klikněte na tlačítko Rozbalit v boční části a zobrazí se následující okno.

V dalším okně, které se zobrazí, se zobrazí dotaz na Bod extrahování nebo umístění, do kterého chcete zálohu extrahovat. Vyberte umístění a pokračujte.
Připojení zálohy
Po otevření karty Archivy ve Vortě a výběru snímku, ze kterého chcete obnovit, klikněte na tlačítko Připojit ve spodní části. Vyberte adresář pro připojení, bude to adresář, který Vorta použije, aby vám umožnil přístup k této záloze, jako by byla stále ve vašem souborovém systému. Ujistěte se, že se jedná o prázdný adresář.
Po dokončení obnovy souborů zavřete všechna aktivní okna a stiskněte tlačítko Odpojit .