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
# Clearing, creating, and configuring a folder for the dump
rm -rf /opt/psql-backup/
mkdir -p /opt/psql-backup/
chown -R postgres:postgres /opt/psql-backup/
# Backup all PostgreSQL databases in 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.
Job {
Name = "PSQL-backup"
JobDefs = "DefaultJob"
Enabled = yes
Level = Full
FileSet = "PSQL"
Schedule = "LocalDaily"
Storage = LocalSD
Write Bootstrap = "/var/lib/bacula/PSQLBackup.bsr"
# Executing scripts
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"
Include {
Options {
signature = MD5
}
File = /opt/psql-backup/
}
}
Speichern und schließen Sie die Datei und starten Sie dann Bacula neu, um die Änderungen zu übernehmen.
systemctl reload bacula-dir
Jetzt erstellt das Skript Dumps und Baсula schreibt sie gemäß dem „LocalDaily“-Zeitplan in den „LocalSD“-Speicher.