Mastodon
This entry is part 2 of 3 in the series Zálohování v Linuxu

V tomto návodu se budeme zaměřovat na vzdálené zálohování pomocí Borg Backup na Arch Linuxu.

Instalace Borg Backup

Instalaci Borga jsme si ukázali v minulém díle. Stačí jen příkaz

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 yesa stiskněte ENTERpokrač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 sudoprivilegia. 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 Ypro potvrzení uložení souboru a nakonec ENTERpro ukončení nano. Abychom skutečně aktivovali tyto změny, musíme restartovat sshdservis:

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

  1. 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.

Obnova zálohy

borg extract user@remote:/path/to/repo::backup-name /path/to/restore/folder

Výpis záloh

borg list username@remote-server:/path/to/repo

Tento příkaz vypíše seznam všech záloh uložených v repozitáři.

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.

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}

Odkazy:

Borg Backup

Zálohování v Linuxu

Jak zálohovat pomocí BorgBackup Desktopový klient pro Borg Backup Vorta
Užíváme cookies, abychom vám zajistili co možná nejsnadnější použití našich webových stránek. Pokud budete nadále prohlížet naše stránky předpokládáme, že s použitím cookies souhlasíte. View more
Cookies settings
Accept
Decline
Privacy & Cookie policy
Privacy & Cookies policy
Cookie name Active

Kdo jsme

  Naše webová adresa je: https://arch-linux.cz.

Komentáře

Když návštěvníci přidají komentář na tento web, jsou shromažďovány údaje zobrazené ve formuláři pro komentář, dále IP adresa návštěvníka a řetězec user agent definující prohlížeč, což pomáhá k detekci spamu. Službě Gravatar může být poskytnut anonymní řetězec vytvořený z vaší e-mailové adresy (nazývaný také hash), díky kterému lze určit jestli tuto službu používáte. Zásady ochrany osobních údajů služby Gravatar jsou k dispozici zde: https://automattic.com/privacy/. Po schválení vašeho komentáře je váš profilový obrázek viditelný pro veřejnost v kontextu vašeho komentáře.

Média

 Pokud nahráváte obrázky na tento web, měli byste se vyhnout nahrávání obrázků s vloženými údaji o poloze (EXIF GPS). Návštěvníci webu mohou stáhnout a zobrazit libovolné data o poloze z obrázků na webu.

Cookies

 Pokud na naše stránky přidáte komentář, můžete povolit uložení jména, e-mailové adresy a webové stránky do cookies. Tímto způsobem se snažíme zvýšit váš komfort, když budete psát nový komentář už pak nebudete muset tyto údaje znovu vyplňovat. Tyto soubory cookies budou mít životnost jeden rok. Pokud navštívíte naši přihlašovací stránku, nastavíme dočasné cookies pro ověření, zda váš prohlížeč přijímá soubory cookies. Tento soubor cookies neobsahuje žádná osobní data a při zavření prohlížeče se zruší. Při přihlašování vám nastavíme také několik souborů cookies pro uložení vašich přihlašovacích údajů a pro nastavení zobrazení obrazovky. Přihlašovací soubory cookies mají životnost dva dny a cookies pro nastavení zobrazení mají životnost jeden rok. Pokud potvrdíte možnost „Zapamatovat si mě“, vaše přihlášení bude trvat dva týdny. Pokud se ze svého účtu odhlásíte, přihlašovací cookies budou odstraněny. Pokud upravujete nebo publikujete článek, bude ve vašem prohlížeči uložen další cookie. Tento cookie neobsahuje žádná osobní data a jednoduše označuje ID příspěvku, který jste právě upravili. Jeho platnost vyprší po 1 dni.

Vložený obsah z dalších webů

 Příspěvky na těchto stránkách mohou obsahovat vložený obsah (například videa, obrázky, články atd.). Vložený obsah z jiných webových stránek se chová stejným způsobem, jako kdyby návštěvník navštívil jiný web. Tyto webové stránky mohou shromažďovat data o vás, používat soubory cookies, vkládat další sledování od třetích stran a sledovat vaši interakci s tímto vloženým obsahem, včetně sledování interakce s vloženým obsahem, pokud máte účet a jste přihlášeni na danou webovou stránku.

S kým sdílíme vaše údaje

 Pokud požadujete obnovení hesla, vaše adresa IP bude uvedena v e-mailu pro obnovení hesla.

Jak dlouho uchováváme vaše údaje

 Pokud přidáte komentář, komentář a jeho metadata budou uchovávána po dobu neurčitou. Údaje jsou uchovávány za účelem automatického rozpoznání a schválení všech následných komentářů, místo jejich držení ve frontě moderování. Pro uživatele, kteří se registrují na tomto webu (pokud mají tuto možnost), ukládáme také osobní údaje, které uvádějí ve svém uživatelském profilu. Všichni uživatelé mohou kdykoliv vidět, upravovat nebo smazat své osobní údaje (s výjimkou toho, že nemohou změnit své uživatelské jméno). Administrátoři webu mohou také tyto informace zobrazit a upravovat.

Jaká máte práva?

 Pokud máte na tomto webu účet nebo jste zde přidali komentáře, můžete požádat o obdržení souboru s exportem osobních údajů, které o vás uchováváme, včetně všech údajů, které jste nám poskytli. Můžete také požádat o odstranění veškerých osobních údajů, které o vás uchováváme. Tato možnost nezahrnuje údaje, které jsme povinni uchovávat z administrativních, právních nebo bezpečnostních důvodů.

Kam posíláme vaše data?

 Komentáře návštěvníků mohou být kontrolovány prostřednictvím automatizované služby detekce spamu, která může být umístěna v zahraničí.
Save settings
Cookies settings