26.05.2023

So sichern Sie PostgreSQL on Ubuntu Server 20.04 mit Bacula

Die Installation und Erstkonfiguration von Bacula wird hier beschrieben: So sichern Sie Ubuntu Server 20.04 mit Bacula. In diesem Tutorial werden wir Einstellungen zum Erstellen eines hinzufügen PostgreSQL Datenbanksicherung.

Im Serverspace Sie uns Erstellen Sie einen Server mit bereits installierter App“PostgreSQL".

Zuerst müssen Sie die Datenbank mit dem integrierten DBMS-Tool sichern und dann die resultierende Datei kopieren. Mit Bacula können Sie Skripte vor und nach dem Backup-Vorgang ausführen.

Schritt 1 – Vorbereiten und Erstellen von Skripten

Erstellen wir zunächst ein pre-psql-backup.sh-Skript im Ordner /etc/bacula/, das den Dump erstellt.

sudo nano /etc/bacula/pre-psql-backup.sh

Schreiben Sie die folgenden Befehle hinein.

#! / Bin / bash
# Löschen, Erstellen und Konfigurieren eines Ordners für den Dump
rm -rf /opt/psql-backup/
mkdir -p /opt/psql-backup/
chown -R postgres:postgres /opt/psql-backup/
# Alles speichern PostgreSQL Datenbanken im SQL-Format
sudo -u postgres pg_dumpall --clean --inserts --verbose --file=/opt/psql-backup/$(date +%Y-%m-%d_%H:%M).sql 2>/var/ log/bacula-pg_dump.log

Lassen Sie uns ein Skript zum Bereinigen des temporären Ordners erstellen.

sudo nano /etc/bacula/post-psql-backup.sh

Kopieren Sie die folgenden Zeilen dorthin.

#! / Bin / bash
rm -f /opt/psql-backup/*

Jetzt machen wir die Skripte ausführbar.

chmod 750 /etc/bacula/pre-psql-backup.sh
chmod 750 /etc/bacula/post-psql-backup.sh

Schritt 2 – Bacula konfigurieren

Im nächsten Abschnitt wird unser Job beschrieben. Fügen Sie es in die Datei /etc/bacula/bacula-dir.conf ein.

Arbeit {
Name = „PSQL-Backup“
JobDefs = "DefaultJob"
Aktiviert = ja
Level = Voll
FileSet = "PSQL"
Zeitplan = „LocalDaily“
Speicher = LocalSD
Schreiben Sie Bootstrap = "/var/lib/bacula/PSQLBackup.bsr"
# Skripte ausführen
ClientRunBeforeJob = "/etc/bacula/pre-psql-backup.sh"
ClientRunAfterJob = "/etc/bacula/post-psql-backup.sh"
}

Nun folgt der Abschnitt, der den Zielordner für die Sicherung beschreibt.

FileSet {
Name = „PSQL“
Enthalten {
Optionen {
signature = MD5
}
Datei = /opt/psql-backup/
}
}

Speichern und schließen Sie die Datei und starten Sie dann Bacula neu, um die Änderungen zu übernehmen.

systemctl bacula-dir neu laden

Jetzt erstellt das Skript Dumps und Baсula schreibt sie gemäß dem „LocalDaily“-Zeitplan in den „LocalSD“-Speicher.