En aquest manual t'ensenyarem pas a pas a instal·lar l'agent de backup 'Bacula'. Es tracta d'un aplicatiu que permet la comunicació entre el teu servidor i el nostre servidor de Backups per poder fer i programar les còpies de seguretat per tu.
Atenció: Aquest manual assumeix que disposes de coneixements tècnics necessaris per establir una connexió SSH o RDP amb el teu servidor i utilitzar ordres pròpies de Debian, Ubuntu o Windows.
Si no disposes dels coneixements necessaris, el nostre equip d'enginyeria pot fer aquestes tasques per tu. Posa't en contacte amb nosaltres via mur de suport per saber com.
1. Estableix una connexió SSH al teu servidor
Durant aquest manual assumirem que estàs connectat com a usuari root
2. Instal·lació del paquet
Per instal·lar el paquet necessari executa la següent ordre:
apt-get install bacula-fd
En el cas que el sistema t'indiqui que no hi ha cap versió candidata per la seva instal·lació, revisar la secció Instal·lar a Linux mitjançant repositoris de Bacula.org.
3. Canvia el fitxer de configuració
El fitxer de configuració està ubicat a /etc/bacula/bacula-fd.conf
Et recomanem editar el document amb l'editor 'nano':
nano /etc/bacula/bacula-fd.conf
Primer bloc "Director":
Aquí definirem els noms dels servidors de còpies i una contrasenya d'accés. Hauràs d'informar aquest password als nostres enginyers perquè configurin el dimoni "Bacula" al servidor de còpies. Al final del manual, t'explicarem com ho pots fer.
Atenció: Copia el següent bloc tal com es mostra a l'exemple. Només has de modificar la paraula $PWD_BACULA pel teu propi password alfanumèric de 15 a 30 caràcters
Director {
Name = bacula.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula2.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula3.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula4.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula5.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula6.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculaMadrid.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam1.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam2.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam3.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam4.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam5.dnssw.net-dir
Password = "$PWD_BACULA"
}
Segon bloc "Director":
Aquest bloc no és necessari, pots comentar-ho afegint un # davant de cadascuna de les línies. Ha de quedar de la manera següent:
#
# Restricted Director, used by tray-monitor to get the
# status of the file daemon
#
# Director {
# Name = bacula3.dnssw.net-mon
# Password = "GexFhZYo843rTweXJq0RJLQtpyd"
# Monitor = yes
# }
Tercer bloc "File Deamon":
En aquest bloc hem de definir el nom i la IP del director.
Només has de substituir la paraula $SERVER_NAME pel nom de host del teu servidor i assegurar-te que al final hagi concatenat "-fd".
Pots obtenir el server name amb l'ordre: hostname -f
Addicionalment heu de substituir l'adreça IP del camp FDAddress per l'adreça IP del vostre servidor.
Atenció: Copia el bloc següent tal com es mostra a l'exemple.
FileDaemon {
Name = $SERVER_NAME-fd
FDport = 9102
WorkingDirectory = /var/lib/bacula
Pid Directory = /var/run/bacula
Maximum Concurrent Jobs = 20
FDAddress = 0.0.0.0
}
Atenció: És possible que el fitxer de configuració ja mostri substituït el camp $SERVER_NAME. No és necessàriament correcte. Si us plau, comprova el nom real amb l'ordre facilitada.
Quart bloc "Messages":
Finalment, cal definir el servidor on s'enviaran tots els "logs" del procés de còpia. Només has de deixar la línia "Name = Standard". Pots comentar l'altra afegint un # al principi de la línia. Ha de quedar de la manera següent:
Messages {
Name = Standard
# director = cl2018123456-dir = all, !skipped, !restored
}
4. Reinicia el dimoni de bacula per aplicar la configuració i comprova que el servei estigui escoltant al port assignat
Executa la següent ordre:
/etc/init.d/bacula-fd restart
netstat -pant | grep 9102
En cas que el servei "bacula-fd" s'estigui executant, se't mostrarà amb l'estat "LISTEN"
5. Comunica la contrasenya a SW
Escriu un nou comentari al teu mur de suport indicant que vols comunicar-nos la contrasenya del Bacula. Per a més comoditat, adjuntem un missatge de mostra que pots fer servir com a plantilla:
Hola,
Seguint el vostre manual ja he configurat el programari bacula per a les còpies de seguretat
que he contractat. Agrairia si podeu revisar la configuració perquè es puguin
fer les còpies a partir d'aquesta nit. Us passo les dades:
Servidor: cl20YYMMDDHHNNN.dnssw.net
IP: 81.25.1XX.YYY
Password del bacula: 12345678901234567890
Moltes gràcies,
Salutacions
Atenció: Modifica els camps de Servidor, IP i Password del bacula pels corresponents al teu servidor. El Password del bacula és el que hem definit al primer bloc
Ja està! Un cop realitzats aquests passos i havent comunicat la contrasenya al nostre equip d'enginyeria, es començaran a fer les còpies de seguretat sense que hagis de preocupar-te de res més. Pots fer un seguiment des del teu SWPanel.
En alguns casos, podem trobar-nos que bacula-fd
o bacula-client
no disposa de candidat per la seva instal·lació. Per la qual cosa, hem preparat una guia per tal d'utilitzar els repositoris oficials de Bacula.
NOTA IMPORTANT: Les versions de Debian/Ubuntu que no siguin LTS (Long-Term Support) no podran instal·lar bacula-fd
o bacula-client
en el moment que perden el suport oficial.
Podem trobar més informació a:
Exemple de correu:
FROM: Bacula Community project <[email protected]>
SUBJECT: Community binary registration
Community binary registration Dear <NAME>,
This email confirms you have successfully registered to obtain Bacula community binaries.
Bacula community binaries repositories are available here:
https://www.bacula.org/packages/<ACCESS-KEY>
Thank you for your support of the Bacula project
Best regards
Executem les següents comandes per descarregar i configurar la clau de verificació GPG:
cd /tmp
wget https://www.bacula.org/downloads/Bacula-4096-Distribution-Verification-key.asc
gpg --dearmor -o /etc/apt/trusted.gpg.d/bacula.gpg Bacula-4096-Distribution-Verification-key.asc
rm Bacula-4096-Distribution-Verification-key.asc
Seguidament, crearem un fitxer de repositoris per a Bacula:
nano /etc/apt/sources.list.d/Bacula-Community.list
Afegim la línia següent substituint els valors indicats:
Debian
# Bacula Community
deb https://www.bacula.org/packages/<ACCESS-KEY>/debs/<BACULA-VERSION> <DEBIAN-VERSION> main
Ubuntu
# Bacula Community
deb [arch=amd64] https://www.bacula.org/packages/<ACCESS-KEY>/debs/<BACULA-VERSION> <UBUNTU-VERSION> main
Exemple per a Debian 10 (Buster) amb Bacula 13.0.4 i clau "abc123defxxxyyy":
# Bacula Community
deb https://www.bacula.org/packages/abc123defxxxyyy/debs/13.0.4 buster main
Exemple per a Ubuntu 22.04 (Jammy Jellyfish) amb Bacula 13.0.4 i clau "abc123defxxxyyy":
# Bacula Community
deb [arch=amd64] https://www.bacula.org/packages/abc123defxxxyyy/debs/13.0.4 jammy main
Actualitzem la llista de paquets:
apt update
Instal·lem el client bacula:
apt install bacula-fd
apt install bacula-client
Verificació:
systemctl status bacula-fd
Atenció: Hem d'assegurar-nos que la versió de Debian/Ubuntu i Bacula siguin compatibles. Consultem la documentació oficial en cas de dubtes.
Per a més informació, consultar la guia d'instal·lació oficial:
1. Estableix una connexió RDP al teu servidor
Durant aquest manual assumirem que estàs connectat com a usuari Administrador
2. Descarregar el paquet d'instal·lació
En un navegador escriu la URL:
https://www.bacula.org/downloads/Bacula-9.6.7/
Al llistat que apareix, descarrega la "bacula-win64-9.6.7.exe"
Un cop descarregat, executa l'instal·lador.
3. Instal·lació del paquet descarregat
En obrir-se l'instal·lador fem clic a "Next"
Acceptem la llicència fent clic a "I Agree"
Seleccionem "Automatic" i fem clic a "Next"
Ens assegurem que el tipus d'instal·lació sigui de "Cient" i fem clic a "Next"
A la següent finestra de l'instal·lador fem clic a "Install"
Ens assegurem de DESMARCAR l'opció "Save Client template in" i fem clic a "Next"
Finalment finalitzem l'instal·lador fent clic a "Finish"
4. Editem els fitxers de configuració necessaris
El fitxer de configuració es troba a:
C:\Program Files\Bacula\bacula-fd.conf
Primer Bloc "File Daemon"
En aquest bloc cal definir el nom del director.
Substitueix la paraula $FQDN_SERVIDOR pel nom de host del teu servidor i assegura't que al final hagi concatenat "-fd"
Atenció: És possible que el fitxer de configuració ja mostri aquest camp per defecte. No és necessàriament correcte. Si us plau comprova-ho explícitament, executant l'ordre "ipconfig /all" en un cmd. Pren els valors "Nom del host" i "Sufix DNS Principal" que se't mostraran
Un exemple vàlid per a aquesta línia de configuració seria: CL2020123456.dnssw.net-fd
FileDaemon {
Name = $FQDN_SERVIDOR-fd # this is me
FDport = 9102 # where we listen for the director
WorkingDirectory = "C:\Program Files\Bacula\working"
Pid Directory = "C:\Program Files\Bacula\working"
#Plugin Directory = "C:\Program Files\Bacula\plugins"
Maximum Concurrent Jobs = 10
}
**Atenció: ** És important permetre les connexions als ports 9102 i 9103 al firewall local per a la correcta realització de les còpies de seguretat
Segon Bloc "File Daemon"
Aquí definirem els noms dels servidors de còpies i una contrasenya d'accés. Hauràs d'informar aquest password als nostres enginyers perquè configurin el dimoni "Bacula" al servidor de còpies. Al final del manual us explicarem com ho pots fer.
Si us plau, especifica els noms de servidors tal com es mostra a l'exemple i substitueix la paraula "$PWD_BACULA" pel teu propi password alfanumèric de 15 a 20 caràcters
#
# List Directors who are permitted to contact this File daemon
#
Director {
Name = bacula.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula2.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula3.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula4.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula5.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = bacula6.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculaMadrid.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam1.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam2.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam3.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam4.dnssw.net-dir
Password = "$PWD_BACULA"
}
Director {
Name = baculam5.dnssw.net-dir
Password = "$PWD_BACULA"
}
Tercer bloc "Director"
Aquest tercer bloc no és necessari a la nostra infraestructura. Pel que es pot eliminar o comentar
#
# Restricted Director, used by tray-monitor to get the
# status of the file daemon
#
#Director {
# Name = bacula3.dnssw.net-mon
# Password = "GexFhZYo843rTweXJq0RJLQtpyd"
# Monitor = yes
#}
Quart bloc "Messages"
Finalment, cal definir el servidor on s'enviaran els "logs" del procés de còpia.
Per defecte, enviaràs els logs al servidor que ha iniciat el procés de "backup". Per això comentarem la línia "director = @director_name@ = all, !skipped, !restored " afegint un # a l'inici de la línia, quedant de la següent forma:
# Send all messages except skipped files back to Director
Messages {
Name = Standard
# director = @director_name@ = all, !skipped, !restored
}
5. Reinicia i comprova que el servei estigui escoltant al port assignat
A continuació, hauràs de reiniciar el servidor per permetre que s'iniciï el servei "bacula-fd" de forma automàtica.
Un cop reiniciat, pots verificar que el servei s'està executant, comprovant que el client bacula estigui escoltant al port que configurem.
Per això executa la següent ordre des del Símbol del Sistema (CMD):
netstat -a | find "9102"
En cas que el servei "bacula-fd" s'estigui executant, se't mostrarà amb l'estat "LISTENING"
**5.1 Si el servei no s'inicia **
Obre una CMD com a "Administrador" i executa les següents comandes:
C:\Users\Administrador>cd "C:\Program Files\Bacula".
C:\Program Files\Bacula>.bacula-fd.exe -c bacula-fd.conf
Si hi ha algun error, ho indicarà:
C:\Program Files\Bacula>.
13-Jun 14:40 bacula-fd: ERROR TERMINATION at lib/lex.c:878
Config error: expected a name, got T_EQUALS: =
: line 90, col 15 of file C:/Program Files/Bacula/bacula-fd.conf
director = = = all, !skipped, !restored, !verified
En aquest cas ens està indicant que l'error està a la línia 90, que es correspon amb la línia que s'ha de comentar en el quart bloc.
Recomanem revisar la configuració.
6. Comunica la contrasenya a SW
Escriu un nou comentari al teu mur de suport indicant que vols comunicar-nos la contrasenya del Bacula. Per a més comoditat, adjuntem un missatge de mostra que el pots utilitzar com a plantilla:
Hola,
Seguint el vostre manual ja he configurat el programari bacula per a les còpies de seguretat
que he contractat. Agrairia si podeu revisar la configuració perquè es puguin
fer les còpies a partir d'aquesta nit. Us passo les dades:
Servidor: cl20YYMMDDHHNNN.dnssw.net
IP: 81.25.1XX.YYY
Password del bacula: 12345678901234567890
Moltes gràcies, Salutacions
Atenció: Modifica els camps de Servidor, IP i Password del bacula pels corresponents al teu servidor. El Password del bacula és el que hem definit al segon bloc
Ja està! Un cop realitzats aquests passos i havent comunicat la contrasenya al nostre equip d'enginyeria, es començaran a fer les còpies de seguretat sense que hagis de preocupar-te de res més. Pots fer un seguiment des del teu SWPanel.