Requiremnts: root, 2GB RAM, 2 Kerne
Der Director läuft auf einem eigenen Server.
Alle miteinander verbundenen Deamons/Directors kommunizieren mit Port 9101, 9102, 9103 – diese in der Firewall freigeben.
date
sudo timedatectl set-timezone Europe/Berlin
date
sudo apt-get update && sudo apt upgrade
apt-get -y install gnupg
1. Hinzufügen des Bareos Installation Scrips, da es nicht in den offiziellen Debian paketquellen enthalten ist
curl -o add_bareos_repositories.sh https://download.bareos.org/current/Debian_12/add_bareos_repositories.sh
Ausfühen
sh add_bareos_repositories.sh
sudo apt-get update
Weitere Dependencies installieren
sudo apt install postgresql postgresql-contrib bareos bareos-database-postgresql
Wir landen im Installationsassitenten
wir wählen“Yes“
wir wählen“localhost“ für eine datenbank auf dem selben server, wie wir bareos laufen haben.
wir entscheiden uns für ein Passwort und sagen OK, danach widerholen wir das PW im nächsten Dialog Fenster.
Der Guide schließt und die Installation wird beendet.
ls /etc/bareos/
apt-get install bareos-webui
systemctl reload apache2
Jetzt starten wir die Services und schauen danach ob sie erfolgreich gestartet sind.
systemctl start bareos-dir
systemctl start bareos-sd
systemctl start bareos-fd
systemctl status bareos-dir bareos-sd bareos-fd
Jetzt wollen wir einen Bareos Admin user erstellen. Es gibt mehre wege das zu tun. Ich nehme den Manuellen weg . ohne bconsole und erstelle mit nano folgende datei.
nano /etc/bareos/bareos-dir.d/console/admin.conf
Wir kopieren folgenden Inhalt in die Datei und speichern. strg+s und strg+x
Console {
Name = "admin"
Password = "secret"
Profile = "webui-admin"
TlsEnable = false
}
Jetzt müssen wir alle bareos services nochmal neustarten.
systemctl restart bareos
systemctl restart bareos-sd
systemctl restart bareos-fd
Unter http://<deine_IP>/bareos-webui ist jetzt dein Webinterface erreichbar.
Nutze die von dir eingetragenen logindaten für den admin account.
Wir müssen die ersten schritte von oben wiederholen, falls es sich um einen neuen/anderen Server handelt, da die das Paket sonst wieder nicht in der Registry enthalten ist.
apt install bareos-filedaemon
Mit dieser Installation werden mehrere Dateien angelegt:
Davon müssen wir in zweien das PW des Directors einfügen. Das steht auf dem bareos-director Server in :
nano /etc/bareos/bareos-dir.d/client/bareos-fd.conf
Und jetzt das Passwort auf dem File-Deamon Server in folgende Dateien einfügen:
nano /etc/bareos/bareos-fd.d/director/bareos-dir.conf
nano /etc/bareos/bareos-fd.d/director/bareos-mon.conf
Jetzt den Filedeamon einmal restarten.
service bareos-fd restart
Setze zusätzlich den namen des neuen Deamons in:
nano /etc/bareos/bareos-fd.d/client/myself.conf
Wir gehen zum Server mit dem Director und nutzen die „bconsole“ – ein inbuild Terminal für Bareos.
bconsole
configure add job name=bareos-fd-job client=bareos-fd jobdefs=DefaultJob
*configure add job name=bareos-fd-job client=bareos-fd jobdefs=DefaultJob
Created resource config file "/etc/bareos/bareos-dir.d/job/bareos-fd-job.conf":
Job {
Name = "bareos-fd-job"
Client = "bareos-fd"
JobDefs = "DefaultJob"
}
*
estimate listing job=bareos-fd-job
Ein langes Output.
run job=bareos-fd-job
Dadurch erhältst du eine JobID. In meinem fall 1. Diese brauchen wir im nächsten Schritt.
Für das starten des Jobs yes wählen.
Run Backup job
JobName: bareos-fd-job
Level: Incremental
Client: bareos-fd
Format: Native
FileSet: SelfTest
Pool: Incremental (From Job IncPool override)
Storage: File (From Job resource)
When: 2024-02-22 16:00:59
Priority: 10
OK to run? (yes/mod/no): yes
Job queued. JobId=1
*
oder mod
OK to run? (yes/mod/no): mod
Parameters to modify:
1: Level
2: Storage
3: Job
4: FileSet
5: Client
6: Backup Format
7: When
8: Priority
9: Pool
10: Plugin Options
Select parameter to modify (1-10):
wait jobid=1
Output:
JobId=1
JobStatus=OK (T)
*
Für Logs des lauferden Jobs nutze folgende befehle:
list joblog jobid=1
list files jobid=1
list volumes
Im Frontend sehen wir dass die Jobs erfolgreich angelegt und ggf. auch schon durchgeführt wurden. Wir haben jedoch noch keinen Storage deamon angelegt. Aktuell werden backups auf localhost (directors) unter /var/lib/bareos/storage/gespeichert. Da der Storage deamon mit dem bareos-director mit installiert wurde.
Es ist auch möglich den Storage Deamon auf einem anderen server laufen zu haben oder mehrere SDs zu nutzen.
Diese Jobs beschreiben, welche Dateien oder Verzeichnisse gesichert werden sollen und wie die Sicherung durchgeführt werden soll.
Zuerst die Paketquellen Herunterladen (siehe oben) und dann nur den SD installieren.
sudo apt-get install bareos-storage
Jetzt Konfigurieren wir den SD indem wir definieren wo die Backups gespeichert werden sollen.
nano /etc/bareos/bareos-sd.d/storage/bareos-sd.conf
Device {
Name = MYSERVER_STORAGE
Media Type = File
Archive Device = /pfad/zum/speicherort
LabelMedia = yes
Random Access = Yes
AutomaticMount = yes
RemovableMedia = no
AlwaysOpen = no
}
Auf dem Director müssen wir jetzt die Verbindungsdaten bereitstellen.
nano /etc/bareos/bareos-sd.d/director/bareos-dir.conf
Storage {
Name = MYSERVER_STORAGE
Address = SPEICHERSERVER # Hostname oder IP-Adresse des Speicherservers
SDPort = 9103 # Standard-Port des Storage Daemons
Password = "geheim" # Passwort für die Kommunikation
Device = MYSERVER_STORAGE
Media Type = File
}
Um die Backups auf einem Remote Speicher via SSH zu speichern müssen wir folgende Datei bearbeiten und Zeile 5 bis 12 des folgenden Beispiels zusätzlich Konfigurieren.
Storage {
Name = bareos-sd
Maximum Concurrent Jobs = 20
Password = "DEIN_SSH_PASSWORT" # Das Passwort für die SSH-Authentifizierung
Device = "ssh" # Verwenden Sie das "ssh" Device
DeviceOptions = "host=REMOTE_URLoderIP,port=22,user=DEIN_SSH_BENUTZERNAME" # Konfiguration für SSH-Verbindung
Media Type = File # Typ des Medienpools (z.B. File, Tape)
#Maximum File Size = 50GB # Maximale Dateigröße pro Backup
Archive Device = /mnt/backup # Verzeichnis auf dem Remote-Server, in dem die Backups gespeichert werden sollen
LabelMedia = yes # Medien automatisch beschriften
Random Access = Yes # Zufälliger Zugriff ermöglichen
# remove comment from "Plugin Directory" to load plugins from specified directory.
# if "Plugin Names" is defined, only the specified plugins will be loaded,
# otherwise all storage plugins (*-sd.so) from the "Plugin Directory".
#
# Plugin Directory = "/usr/lib/bareos/plugins"
# Plugin Names = ""
}
sudo systemctl restart bareos-director
Da die bsmtp pakete auf Debian nicht Standartmäßig installiert sind, nutzen wir msmtp.
sudo apt-get install msmtp
„NO“ wählen
Jetzt erstellen wir eine Datei:
nano ~/.msmtprc
Jetzt fügen wir folgenden Inhalt in die Datei ein:
# Set default values for all following accounts.
defaults
port 587
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile ~/.msmtp.log
# SMTP-Einstellungen für Ihren externen Mailserver
account your_account
host your_mail_server_address # Adresse des SMTP-Servers
from your_email@example.com # Absenderadresse
auth on
user your_username # Benutzername für die SMTP-Authentifizierung
password your_password # Passwort für die SMTP-Authentifizierung
# Setzen Sie die Standardkonfiguration für alle E-Mails
account default : your_account
Jetzt müssen wir die Konfiguration vom bareos- director anpassen und in folgender Datei folgendes Hinzufügen. Hier definieren wir an wen die Emails gesendet werden soll.
nano /etc/bareos/bareos-fd.d/director/bareos-dir.conf
Messages {
Name = "EmailNotifications"
# Specify the email address where messages should be sent
Mail = "your_email@example.com" = all, !skipped, !terminate
# Customize the Mail Command to include authentication credentials
Mail Command = "/usr/sbin/bsmtp -S -d -t -f \"\(Bareos\) %r\" -h your_mail_server_address -U username -P password -s \"Bareos: %t %e of %c %l\" %r"
}
sudo systemctl restart bareos-director
# Restricted Director, used by tray-monitor to get the
# status of the file daemon
#
Director {
Name = client1-mon
Password = "8BoVwTju2TQlafdHFExRIJmUcHUMoIyIqPJjbvcSO61P"
Monitor = yes
}