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.