Bacula je nástroj pro zálohování s otevřeným zdrojovým kódem, který lze použít k zálohování a obnově dat v síti. Je to jednoduchý a snadno použitelný nástroj a nabízí mnoho pokročilých funkcí správy úložiště, které vám pomohou snadno zálohovat a obnovit vaše ztracené soubory. Podporuje zálohovacího klienta Linux, Windows a macOS a podporuje také širokou škálu zálohovacích zařízení. Bacula se skládá z několika komponent, včetně adresáře Bacula, Bacula, konzole, úložiště Bacula, souboru Bacula a katalogu Bacula. Každá součást je zodpovědná za správu konkrétních úloh.
V tomto tutoriálu vám ukážeme, jak nainstalovat a nakonfigurovat zálohovací systém na Ubuntu 20.04.
Předpoklady
- Server se systémem Ubuntu 20.04 s minimálně 2 GB RAM.
- Na serveru je nakonfigurováno heslo uživatele root.
Začínáme
Nejprve budete muset aktualizovat svůj systém na nejnovější stabilní verzi. Můžete jej aktualizovat pomocí následujícího příkazu:
apt-get update -y
Jakmile jsou všechny balíčky aktualizovány, můžete přejít k dalšímu kroku.
Instalovat Bacula
Ve výchozím nastavení je balíček Bacula dostupný ve výchozím úložišti Ubuntu 20.04. Můžete jej snadno nainstalovat pomocí následujícího příkazu:
apt-get install bacula -y
Během instalace budete požádáni o výběr poštovního serveru, jak je znázorněno níže:
Vyberte požadovaný poštovní server a klikněte na OK knoflík. Budete požádáni o zadání jména vaší systémové pošty, jak je uvedeno níže:
Zadejte název systémové pošty a klikněte na OK knoflík. Budete požádáni o konfiguraci databáze pro bacula, jak je uvedeno níže:
Klikněte na Ano knoflík. Budete požádáni, abyste vybrali hostitele serveru PostgreSQL, jak je uvedeno níže:
Vyberte localhost a klikněte na OK knoflík. Budete požádáni o zadání hesla PostgreSQL, jak je uvedeno níže:
Zadejte požadované heslo a klikněte na OK pokračujte v instalaci.
Jakmile je balíček Bacula nainstalován, můžete přejít k dalšímu kroku.
Konfigurace úložiště Bacula
Než začnete, vytvořte adresář pro ukládání záložních souborů. Můžete jej vytvořit pomocí následujícího příkazu:
mkdir /backup
Dále změňte vlastnictví adresáře bacula na uživatele a skupinu bacula pomocí následujícího příkazu:
chown -R bacula:bacula /backup
Dále budete muset upravit výchozí konfigurační soubor úložiště bacula a definovat zařízení a umístění úložiště.
nano /etc/bacula/bacula-sd.conf
Odeberte nebo okomentujte další sekci „Zařízení {“ a „Automatický měnič {“ a přidejte následující řádky:
Device { Name = Local-device Media Type = File Archive Device = /backup LabelMedia = yes; # lets Bacula label unlabeled media Random Access = Yes; AutomaticMount = yes; # when device opened, read it RemovableMedia = no; AlwaysOpen = no; Maximum Concurrent Jobs = 5 }
Po dokončení uložte a zavřete soubor. Poté restartujte službu úložiště Bacula pomocí následujícího příkazu:
systemctl restart bacula-sd.service
Nyní můžete ověřit stav úložiště Bacula pomocí následujícího příkazu:
systemctl status bacula-sd
Měli byste získat následující výstup:
? bacula-sd.service - Bacula Storage Daemon service Loaded: loaded (/lib/systemd/system/bacula-sd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-10-06 09:32:43 UTC; 8s ago Docs: man:bacula-sd(8) Process: 10687 ExecStartPre=/usr/sbin/bacula-sd -t -c $CONFIG (code=exited, status=0/SUCCESS) Main PID: 10688 (bacula-sd) Tasks: 2 (limit: 4691) Memory: 1.0M CGroup: /system.slice/bacula-sd.service ??10688 /usr/sbin/bacula-sd -fP -c /etc/bacula/bacula-sd.conf Oct 06 09:32:43 ubuntu2004 systemd[1]: Starting Bacula Storage Daemon service... Oct 06 09:32:43 ubuntu2004 systemd[1]: Started Bacula Storage Daemon service.
Konfigurace Bacula Director
Dále budete muset upravit konfigurační soubor Bacula director a zadat umístění úložiště. Můžete jej upravit pomocí následujícího příkazu:
nano /etc/bacula/bacula-dir.conf
Přidejte následující řádky, včetně Název zařízení, Název úložiště, heslo, Úloha atd.
Storage { Name = ubuntu2004-sd # Must be equal to the "Name" parameter of the "Storage" section in the /etc/bacula/bacula-sd.conf file Address = 127.0.0.1 Password = "aFEH-0a3QycsbYQVcoy_VoUMhAHJQ00CD" # Password must match the password in the /etc/bacula/bacula-sd.conf Device = Local-device Media Type = File } FileSet { Name = "Local-file" Include { Options { signature = MD5 } File = /etc } } Schedule { Name = "LocalDaily" Run = Full daily at 06:00 } Job { Name = "LocalBackup" JobDefs = "DefaultJob" Enabled = yes Level = Full FileSet = "Local-file" Schedule = "LocalDaily" Storage = ubuntu2004-sd Write Bootstrap = "/var/lib/bacula/LocalhostBackup.bsr" }
Po dokončení uložte a zavřete soubor a poté restartujte službu Bacula director, abyste použili změny:
systemctl restart bacula-dir
Stav služby Bacula director můžete také ověřit pomocí následujícího příkazu:
systemctl status bacula-dir
Měli byste získat následující výstup:
? bacula-director.service - Bacula Director Daemon service Loaded: loaded (/lib/systemd/system/bacula-director.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-10-06 09:32:43 UTC; 9s ago Docs: man:bacula-dir(8) Process: 10667 ExecStartPre=/usr/sbin/bacula-dir -t -c $CONFIG (code=exited, status=0/SUCCESS) Main PID: 10683 (bacula-dir) Tasks: 3 (limit: 4691) Memory: 2.1M CGroup: /system.slice/bacula-director.service ??10683 /usr/sbin/bacula-dir -fP -c /etc/bacula/bacula-dir.conf Oct 06 09:32:43 ubuntu2004 systemd[1]: Starting Bacula Director Daemon service... Oct 06 09:32:43 ubuntu2004 systemd[1]: Started Bacula Director Daemon service.
Ověřit úlohu zálohování
V tomto okamžiku je Bacula nainstalována a nakonfigurována tak, aby běžela denně v 6:00. Nyní použijeme konzolu Bacula ke spuštění naší první úlohy zálohování.
bconsole
Po připojení byste měli získat následující výstup:
Connecting to Director localhost:9101 1000 OK: 103 ubuntu2004-dir Version: 9.4.2 (04 February 2019) Enter a period to cancel a command.
Dále spusťte následující příkaz pro spuštění úlohy zálohování:
*run
Budete požádáni o výběr úlohy zálohování, jak je uvedeno níže:
Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" A job name must be specified. The defined Job resources are: 1: BackupClient1 2: LocalBackup 3: BackupCatalog 4: RestoreFiles Select Job resource (1-4): 2
Napište 2, abyste vybrali LocalBackup, který jste definovali v konfiguračním souboru, a stiskněte Enter. Měli byste vidět následující výstup:
Run Backup job JobName: LocalBackup Level: Full Client: ubuntu2004-fd FileSet: Local-file Pool: File (From Job resource) Storage: ubuntu2004-sd (From Job resource) When: 2020-10-06 09:50:47 Priority: 10 OK to run? (yes/mod/no): yes Job queued. JobId=3 You have messages.
V tomto okamžiku je spuštěna úloha zálohování. Stav úlohy zálohování můžete zkontrolovat pomocí následujícího příkazu:
*status
Budete požádáni o výběr stavu následujících součástí:
Status available for: 1: Director 2: Storage 3: Client 4: Scheduled 5: Network 6: All Select daemon type for status (1-6): 1
Napište 1 a stiskněte Enter pro kontrolu stavu Director. Měli byste vidět následující výstup:
ubuntu2004-dir Version: 9.4.2 (04 February 2019) x86_64-pc-linux-gnu ubuntu 20.04 Daemon started 06-Oct-20 09:50, conf reloaded 06-Oct-2020 09:50:27 Jobs: run=1, running=0 mode=0,0 Heap: heap=274,432 smbytes=106,782 max_bytes=135,168 bufs=343 max_bufs=377 Res: njobs=4 nclients=1 nstores=3 npools=3 ncats=1 nfsets=3 nscheds=3 Scheduled Jobs: Level Type Pri Scheduled Job Name Volume =================================================================================== Full Backup 10 07-Oct-20 06:00 LocalBackup Vol-0001 ==== Running Jobs: Console connected at 06-Oct-20 09:50 No Jobs running. ==== Terminated Jobs: JobId Level Files Bytes Status Finished Name ==================================================================== 1 Full 2,262 2.875 M OK 06-Oct-20 09:50 LocalBackup ====
Poté znovu spusťte příkaz status a zkontrolujte stav úložiště Bacula.
*status
Měli byste vidět následující výstup:
Status available for: 1: Director 2: Storage 3: Client 4: Scheduled 5: Network 6: All Select daemon type for status (1-6): 2 The defined Storage resources are: 1: File1 2: ubuntu2004-sd Select Storage resource (1-2): 1 Connecting to Storage daemon File1 at localhost:9103 ubuntu2004-sd Version: 9.4.2 (04 February 2019) x86_64-pc-linux-gnu ubuntu 20.04 Daemon started 06-Oct-20 09:50. Jobs: run=1, running=0. Heap: heap=106,496 smbytes=369,301 max_bytes=567,404 bufs=90 max_bufs=110 Sizes: boffset_t=8 size_t=8 int32_t=4 int64_t=8 mode=0,0 newbsr=0 Res: ndevices=1 nautochgr=0 Running Jobs: No Jobs running. ==== Jobs waiting to reserve a drive: ==== Terminated Jobs: JobId Level Files Bytes Status Finished Name =================================================================== 3 Full 2,262 3.156 M OK 06-Oct-20 09:50 LocalBackup ==== Device status: Device File: "Local-device" (/backup) is not open. Available Space=93.95 GB == ==== Used Volume status: ==== Attr spooling: 0 active jobs, 454,546 bytes; 1 total jobs, 454,546 max bytes. ====
Dále ukončete konzolu Bacula pomocí následujícího příkazu:
*exit
Dále ověřte záložní adresář pomocí následujícího příkazu:
ls /backup/
Měli byste vidět, že je vytvořena záloha Vol-0001:
Vol-0001
Závěr
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali zálohu Bacula na serveru Ubuntu 20.04. Nyní můžete nainstalovat klienta Bacula na vzdálený počítač a snadno zálohovat svůj klientský systém. Neváhejte se mě zeptat, pokud máte nějaké otázky.