Bacula è uno strumento di backup open source che può essere utilizzato per eseguire il backup e il ripristino dei dati attraverso la rete. È uno strumento semplice e facile da usare e offre molte funzionalità avanzate di gestione dell'archiviazione che consentono di eseguire facilmente il backup e il ripristino dei file persi. Supporta client di backup Linux, Windows e macOS e supporta anche un'ampia gamma di dispositivi di backup. Bacula è composto da diversi componenti tra cui directory Bacula, Bacula, console, archiviazione Bacula, file Bacula e catalogo Bacula. Ciascun componente è responsabile della gestione di lavori specifici.
In questo tutorial, ti mostreremo come installare e configurare il sistema di backup di backup su Ubuntu 20.04.
Prerequisiti
- Un server che esegue Ubuntu 20.04 con minimo 2 GB di RAM.
- Una password di root è configurata sul server.
Per iniziare
Innanzitutto, dovrai aggiornare il tuo sistema all'ultima versione stabile. Puoi aggiornarlo con il seguente comando:
apt-get update -y
Una volta aggiornati tutti i pacchetti, puoi procedere al passaggio successivo.
Installa Bacula
Per impostazione predefinita, il pacchetto Bacula è disponibile nel repository predefinito di Ubuntu 20.04. Puoi installarlo facilmente usando il seguente comando:
apt-get install bacula -y
Durante l'installazione, ti verrà chiesto di selezionare il server di posta come mostrato di seguito:
Seleziona il server di posta desiderato e fai clic su Ok pulsante. Ti verrà chiesto di fornire il nome dell'e-mail di sistema come mostrato di seguito:
Fornisci il nome dell'e-mail di sistema e fai clic su Ok pulsante. Ti verrà chiesto di configurare un database per bacula come mostrato di seguito:
Fai clic su Sì pulsante. Ti verrà chiesto di selezionare l'host del server PostgreSQL come mostrato di seguito:
Seleziona localhost e fai clic su Ok pulsante. Ti verrà chiesto di fornire la password PostgreSQL come mostrato di seguito:
Fornisci la password desiderata e fai clic su Ok pulsante per continuare l'installazione.
Una volta installato il pacchetto Bacula, puoi procedere al passaggio successivo.
Configura archiviazione Bacula
Prima di iniziare, creare una directory in cui archiviare i file di backup. Puoi crearlo con il seguente comando:
mkdir /backup
Quindi, cambia la proprietà della directory bacula in utente e gruppo bacula con il seguente comando:
chown -R bacula:bacula /backup
Successivamente, dovrai modificare il file di configurazione predefinito della memoria bacula e definire il dispositivo e la posizione della memoria.
nano /etc/bacula/bacula-sd.conf
Rimuovi o commenta altre sezioni "Dispositivo {" e "Cambiatore automatico {" e aggiungi le seguenti righe:
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 }
Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio di archiviazione Bacula utilizzando il comando seguente:
systemctl restart bacula-sd.service
È ora possibile verificare lo stato della memoria Bacula con il seguente comando:
systemctl status bacula-sd
Dovresti ottenere il seguente output:
? 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.
Configura Direttore Bacula
Successivamente, dovrai modificare il file di configurazione di Bacula director e fornire la tua posizione di archiviazione. Puoi modificarlo con il seguente comando:
nano /etc/bacula/bacula-dir.conf
Aggiungi le seguenti righe, tra cui Nome dispositivo, Nome memoria, password, Lavoro, ecc.
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" }
Salva e chiudi il file al termine, quindi riavvia il servizio Bacula director per applicare le modifiche:
systemctl restart bacula-dir
Puoi anche verificare lo stato del servizio Bacula director con il seguente comando:
systemctl status bacula-dir
Dovresti ottenere il seguente output:
? 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.
Verifica processo di backup
A questo punto, Bacula è installato e configurato per essere eseguito ogni giorno alle 6:00. Ora, utilizziamo la console Bacula per eseguire il nostro primo processo di backup.
bconsole
Una volta connesso, dovresti ottenere il seguente output:
Connecting to Director localhost:9101 1000 OK: 103 ubuntu2004-dir Version: 9.4.2 (04 February 2019) Enter a period to cancel a command.
Quindi, esegui il comando seguente per avviare il processo di backup:
*run
Ti verrà chiesto di selezionare il processo di backup come mostrato di seguito:
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
Digita 2 per selezionare il LocalBackup che hai definito nel file di configurazione e premi Invio. Dovresti vedere il seguente output:
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.
A questo punto, il processo di backup viene avviato. Puoi controllare lo stato del processo di backup con il seguente comando:
*status
Ti verrà chiesto di selezionare lo stato dei seguenti componenti:
Status available for: 1: Director 2: Storage 3: Client 4: Scheduled 5: Network 6: All Select daemon type for status (1-6): 1
Digita 1 e premi Invio per verificare lo stato del Direttore. Dovresti vedere il seguente output:
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 ====
Quindi, esegui nuovamente il comando di stato e controlla lo stato della memoria Bacula.
*status
Dovresti vedere il seguente output:
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. ====
Quindi, esci dalla console Bacula con il seguente comando:
*exit
Successivamente, verifica la directory di backup con il seguente comando:
ls /backup/
Dovresti vedere che il backup Vol-0001 è stato creato:
Vol-0001
Conclusione
Congratulazioni! hai installato e configurato correttamente il backup Bacula sul server Ubuntu 20.04. È ora possibile installare il client Bacula sulla macchina remota ed eseguire facilmente il backup del sistema client. Sentiti libero di chiedermi se hai domande.