GNU/Linux >> Znalost Linux >  >> AlmaLinux

Jak nastavit záložní server pomocí Rsnapshot v Linuxu

Tato příručka vysvětluje, co je Rsnapshot, jak nainstalovat Rsnapshot v Linuxu a jak nastavit záložní server pomocí Rsnapshot v Linuxu.

1. Úvod

Rsnapshot je nástroj pro snímky souborového systému založený na rsync pro Linux a operační systémy podobné Unixu. Umožňuje vám snadno vytvářet pravidelné snímky místních počítačů a vzdálených počítačů přes ssh.

Dobrá věc na rsnapshot je, že široce využívá pevné odkazy kdykoli je to možné, výrazně snížit požadované místo na disku.

Vzhledem k tomu, že rsnapshot uchovává pouze pevný počet snímků, nebude se množství použitého místa na disku neustále zvětšovat.

Rnapshot je bezplatná a open source zálohovací aplikace, která podporuje přírůstkové zálohování. Je celý napsaný v perlu a měl by fungovat na většině systémů podobných Unixu.

Bez dalších okolků pojďme dál a podívejme se, jak nainstalovat, nakonfigurovat a nastavit záložní server pomocí Rsnapshot v Linuxu.

2. Nainstalujte Rsnapshot v Linuxu

Rsnapshot je zabalen pro mnoho distribucí Linuxu.

Nainstalujte Rsnaphot v Alpine Linux:

$ sudo apk add rsnapshot rsync

Nainstalujte Rsnapshot je Arch Linux, EndeavourOS a Manjaro Linux:

$ sudo pacman -S rsnapshot rsync

Nainstalujte Rsnapshot v Debianu, Ubuntu, Linux Mint, Pop_OS!:

$ sudo apt install rsnapshot rsync

Nainstalujte Rsnapshot v CentOS, Fedora, RHEL, AlmaLinux, Rocky Linux:

Rsnapshot není k dispozici ve výchozích úložištích podnikových operačních systémů, jako jsou CentOS, RHEL, AlmaLinux a Rocky Linux. Musíte povolit [EPEL] úložiště, aby bylo možné nainstalovat Rsnapshot.

$ sudo dnf install epel-release

Poté nainstalujte Rsnapshot pomocí příkazu:

$ sudo dnf install rsnapshot rsync

Nainstalujte Rsnapshot do openSUSE:

$ sudo zypper install rsnapshot rsync

3. Nastavte záložní server pomocí Rsnapshot v Linuxu

Pro účely této příručky budu používat dva testovací systémy.

Jeden je záložní server běžící s AlmaLinux 8 a druhý funguje jako klientský systém. Klient běží s desktopem Fedory 34.

Podrobnosti o záložním serveru a klientovi jsou uvedeny níže.

Záložní server:

  • OS :AlmaLinux 8 64bitový minimální systém
  • IP adresa :192.168.122.25/24
  • Kořenový adresář Rsnapshot :/rsnapbackup
  • Adresář k zálohování :/home/ostechnix/data/

Klient:

  • OS :Fedora Workstation 34
  • IP adresa :192.168.225.37/24
  • Adresář k zálohování :/home/sk/data/

3.1. Nastavení ověřování SSH bez hesla na záložním serveru

Chcete-li zálohovat soubory vzdáleného klientského systému přes SSH, musíte nastavit ověřování SSH bez hesla pro vzdálené klientské systémy, takže zálohování se automaticky připojí ke klientskému systému bez hesla a zazálohuje klientská data.

Přihlaste se jako root a vytvořte pár klíčů SSH v našem systému záložního serveru.

# ssh-keygen

Nezadávejte žádné přístupové heslo , protože chceme, aby se tyto systémy mohly vzájemně propojit bez jakéhokoli zásahu uživatele:

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:k/yIpwuk2lqEVxW4O0/6evTjquxCcGffQU0Kgm1ZvPk [email protected]
The key's randomart image is:
+---[RSA 3072]----+
|   o.==. o.      |
|  . =o.....      |
|   ... +.        |
|....+ o...       |
|.ooo.o oS.       |
| o.oo +.E+       |
| .o .*..o .      |
| +....ooo        |
|o..o===+..       |
+----[SHA256]-----+

Dále zkopírujte veřejný klíč SSH do všech vzdálených klientských systémů.

# ssh-copy-id [email protected]

Nahraďte sk a 192.168.225.37 ve výše uvedeném příkazu s uživatelským jménem a IP adresou vašeho vzdáleného systému. Chcete-li zkopírovat soubor veřejného klíče, zadejte heslo uživatele systému klienta:

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

Zde 192.168.225.37 je IP adresa mého vzdáleného klientského systému (tj. Fedora Desktop).

Nyní můžete ssh do klientského systému bez jakéhokoli hesla.

Opakováním výše uvedeného příkazu zkopírujte veřejný klíč ssh do všech vašich klientských systémů a nastavte autentizaci bez hesla.

Dále musíme nakonfigurovat Backup server.

3.2. Konfigurace záložního serveru Rsnapshot

Vytvořte kořenový adresář zálohy pro uložení všech záloh vašeho serveru a klientských systémů.

Pro účely této příručky používám /rsnapbackup/ jako kořenový adresář zálohy. Je to adresář, kam budu ukládat všechny zálohy.

Můžete definovat své vlastní umístění pro ukládání záloh.

Vytvořme kořenový záložní adresář na našem záložním serveru příkazem:

# mkdir /rsnapbackup

Dále musíme upravit a aktualizovat kořenový adresář záloh, adresáře, které chcete zálohovat, a intervaly zálohování ve výchozím konfiguračním souboru Rsnapshot /etc/rsnapshot.conf .

Před úpravou konfigurace se vždy doporučuje vytvořit zálohu výchozího konfiguračního souboru pro případ, že byste potřebovali znovu nakonfigurovat rsnapshot.

# cp /etc/rsnapshot.conf /etc/rsnapshot.conf.bak

Nyní upravte konfigurační soubor rsnapshot pomocí příkazu:

# nano /etc/rsnapshot.conf

Výchozí konfigurace by měla fungovat dobře. Vše, co musíte udělat, je pouze definovat záložní adresáře a intervaly zálohování.

Pozor: Upozorňujeme, že byste měli zadat koncové lomítko na konci názvů adresářů v /etc/rsnapshot.conf soubor. Řekněme například, že musíte zadat název adresáře jako /rsnapbackup/ , ale ne /rsnapbackup . Také je třeba mezi prvky/polemi používat tabulátory (nikoli mezery) .

Nejprve nastavíme kořenový adresář záloh, tj. definujeme adresář, kam chceme ukládat zálohy souborového systému. V našem případě budu zálohy ukládat do /rsnapbackup/ adresář.

# All snapshots will be stored under this root directory.
#
snapshot_root   /rsnapbackup/

Opět byste měli použít klávesu TAB mezi snapshot_root prvek a váš záložní adresář.

Poznámka: Rsnapshot není podpora vzdáleného kořenového adresáře snímku přes SSH.

Přejděte trochu dolů a ujistěte se, že následující řádky (označené tučně) jsou bez komentáře:

[...]
#################################
# EXTERNAL PROGRAM DEPENDENCIES #
#################################

# LINUX USERS: Be sure to uncomment "cmd_cp". This gives you extra features.
# EVERYONE ELSE: Leave "cmd_cp" commented out for compatibility.
#
# See the README file or the man page for more details.
#
cmd_cp /usr/bin/cp

# uncomment this to use the rm program instead of the built-in perl routine.
#
cmd_rm /usr/bin/rm

# rsync must be enabled for anything to work. This is the only command that
# must be enabled.
#
cmd_rsync /usr/bin/rsync

# Uncomment this to enable remote ssh backups over rsync.
#
cmd_ssh /usr/bin/ssh

# Comment this out to disable syslog support.
#
cmd_logger /usr/bin/logger

# Uncomment this to specify the path to "du" for disk usage checks.
# If you have an older version of "du", you may also want to check the
# "du_args" parameter below.
#
cmd_du /usr/bin/du

[...]

Dále musíme definovat intervaly zálohování:

#########################################
# BACKUP LEVELS / INTERVALS #
# Must be unique and in ascending order #
# e.g. alpha, beta, gamma, etc. #
#########################################

retain alpha 6
retain beta 7
retain gamma 4
#retain delta 3

Zde zachovejte alfa 6 znamená, že pokaždé rsnapshot alpha spustí, vytvoří nový snímek, otočí staré a zachová posledních šest záloh v adresářích s názvem alpha.0 , alpha.1 ,... alpha.5 v kořenovém adresáři Rsnapshot. Potom při příštím spuštění příkazu alpha.5 adresář bude smazán.

Podobně, když nazýváme rsnapshot beta pokaždé vytvoří nový snímek, otočí staré a zachová posledních 7 záloh (delta.0 - delta.6)

Upozorňujeme, že alpha , beta , gamma a delta jsou pouze názvy pro definování intervalů zálohování. Můžete také definovat své vlastní intervaly.

Můžete například nahradit výchozí úrovně zálohování některými smysluplnými názvy dle vašeho výběru, jako je níže:

retain  hourly  24
retain  daily   7
retain  weekly  4
retain  monthly 12

Když nazýváme rnsapshot hourly , vytvoří novou zálohu v <rsnapshot-root>/hourly.0/ adresář. Když tento příkaz spustíte pokaždé, bude vytvářet nové adresáře až do <rsnapshot-root>/hourly.23/ .

To je stejné pro denní, týdenní a měsíční zálohy.

Dále odkomentujte následující řádek, pokud chcete nastavit soubor protokolu pro Rsnapshot:

logfile /var/log/rsnapshot

Pokud jste změnili výchozí port SSH , musíte odkomentovat tento řádek a uvést zde platné číslo portu:

ssh_args -p 2222

Nakonec musíte definovat adresáře, které chcete zálohovat. V konfiguračním souboru rsnapshot vyhledejte následující direktivy a nastavte umístění adresáře zálohy.

###############################
### BACKUP POINTS / SCRIPTS ###
###############################

# LOCALHOST
backup /home/ostechnix/data/ myserverbackup/

Zde budu zálohovat obsah /home/ostechnix/data/ adresář a uložte je do /rsnapbackup/myserverbackup/ adresář.

Pozor: Upozorňujeme, že jsem neuvedl úplnou cestu (tj. /rsnapbackup/myserverbackup/ ) ve výše uvedené konfiguraci. Protože jsme již dříve zmínili kořenový adresář zálohy. Takže zde nemusíme specifikovat kořenový adresář Rsnapshot.

Podobně definujte umístění záloh vašich vzdálených klientských systémů.

# REMOTEHOST
backup [email protected]:/home/sk/data/ myclientbackup/

Zde budu zálohovat obsah /home/sk/data/ mého vzdáleného klientského systému adresář a uložte je do /rsnapbackup/myclientbackup/ adresář na mém záložním serveru.

Znovu upozorňujeme, že jsem neuvedl úplnou cestu (/rsnapbackup/myclientbackup/ ) ve výše uvedené konfiguraci. Protože jsme již definovali kořenový adresář zálohy.

Uložte a zavřete /etc/rsnapshot.conf soubor.

Jakmile provedete všechny změny, spusťte následující příkaz a ověřte, zda je konfigurační soubor syntakticky platný.

$ rsnapshot configtest

Pokud je vše v pořádku, uvidíte následující výstup.

Syntax OK

3.3. Spustit zálohování

Spusťte následující příkaz pro ruční spuštění zálohování pomocí Rsnapshot.

# rsnapshot alpha

První záloha bude trvat několik minut až několik hodin v závislosti na velikosti záloh. Následné zálohování bude mnohem rychlejší, protože Rsnapshot zazálohuje pouze rozdíly.

Podobně můžete spustit další úrovně zálohování:

# rsnapshot beta
# rsnapshot gamma
# rsnapshot daily

3.4. Ověřování a prohlížení záloh

Pojďme zkontrolovat, zda jsou zálohy skutečně uloženy v kořenovém adresáři záloh na serveru záloh.

# ls /rsnapbackup/

Uvidíte následující výstup:

alpha.0

Zkontrolujte obsah alpha.0 adresář:

# ls /rsnapbackup/alpha.0/

Uvidíte, že jsou automaticky vytvořeny dva adresáře, jeden pro místní zálohování (myserverbackup) a druhý pro vzdálené systémy (myclientbackup).

myclientbackup  myserverbackup

Chcete-li zkontrolovat zálohy klientského systému, spusťte:

# ls /rsnapbackup/alpha.0/myclientbackup/

Zkontrolujte zálohy serverového systému (místního systému):

# ls /rsnapbackup/alpha.0/myserverbackup/

Když spustíte Rnaspshot každý, vytvoří se nové adresáře, jako je alpha.0 , alpha.1 a tak dále, v závislosti na počtu úrovní zachování, které jste nakonfigurovali.

# ls /rsnapbackup/
alpha.0  alpha.1

alpha.0 adresář bude obsahovat nejnovější zálohu.

3.5. Naplánujte zálohování

Nemusíte spouštět příkaz rsnapshot k vytváření záloh pokaždé. Stačí definovat úlohu cron k automatizaci úloh zálohování v pravidelných intervalech.

Chcete-li tak učinit, vytvořte nový soubor úlohy cron pro rsnapshot:

# nano /etc/cron.d/rsnapshot

Přidejte následující řádky:

0 */4 * * *     /usr/bin/rsnapshot alpha
50 23 * * *     /usr/bin/rsnapshot beta
00 22 1 * *     /usr/bin/rsnapshot delta

První řádek označuje, že bude šest alfa snímky pořízené každý den (v 0, 4, 8, 12, 16 a 20 hodinách), beta snímky pořízené každou noc ve 23:50 a delta snímky budou pořízeny ve 22:00 prvního dne každého měsíce. Načasování si můžete upravit dle vašeho přání. Uložte a zavřete soubor.

Hotovo! Od této chvíle bude Rsnapshot automaticky zálohovat vaše data v definovaný čas.

Další podrobnosti naleznete na manuálových stránkách.

# man rsnapshot

4. Obnovit soubory

Obnovení souborů je snadné! Pokud máte sudo nebo root přístup na záložní server, můžete jednoduše zkopírovat soubory z kořenového adresáře Rsnapshot, tj. /rsnapbackup/ .

5. Závěr

Nastavení záložního serveru pomocí Rsnapshot v Linuxu není tak obtížné. Počáteční konfigurace se může zdát obtížná a zabere trochu času. Jakmile však zálohovací server Rsnapshot správně nastavíte, bude po vybalení fungovat navždy, bez jakéhokoli zásahu uživatele.

Zdroje:

  • Web Rsnapshot
  • Rsnapshot GitHub úložiště

Související čtení:

  • Jak zálohovat celý systém Linux pomocí Rsync
  • Jak zálohovat soubory a adresáře pomocí Rsync v Linuxu
  • Jak zálohovat a obnovovat soubory pomocí Deja Dup v Linuxu
  • Jak zálohovat a obnovit systém Linux pomocí funkce Timeshift
  • Jak synchronizovat soubory s Unison v systému Linux
  • Jak synchronizovat místní a vzdálené adresáře v systému Linux
  • Jak synchronizovat soubory a adresáře pomocí Zaloha.sh
  • CYA – Nástroj Snímek a obnovení systému pro Linux
  • Restic – rychlá, bezpečná a efektivní zálohovací aplikace

AlmaLinux
  1. Jak vytvořit zálohu

  2. Jak nastavit server centralizovaného protokolování pomocí Rsyslog

  3. Jak nastavit SSH bez hesla v systému Linux

  1. Jak nainstalovat a nastavit cPanel na linuxovém serveru

  2. Jak nastavit Reverse SSH Tunnel v Linuxu

  3. Jak zálohovat operační systém Linux pomocí příkazu „dd“.

  1. Jak nainstalovat a nastavit Mumble Server {Murmur} na Linux CentOS 7

  2. Jak nastavit pojmenovanou službu DNS na serveru Redhat 7 Linux

  3. Jak nastavit souborový server vsftpd FTP na Redhat 7 Linux