26.05.2023

Comment sauvegarder PostgreSQL on Ubuntu Serveur 20.04 avec Bacula

L'installation et la configuration initiale de Bacula sont décrites ici : Comment sauvegarder Ubuntu Serveur 20.04 avec Bacula. Dans ce didacticiel, nous allons ajouter des paramètres pour créer un PostgreSQL sauvegarde de la base de données.

Dans le Serverspace vous pouvez créer un serveur avec l'application déjà installée "PostgreSQL".

Tout d'abord, vous devez sauvegarder la base de données à l'aide de l'outil SGBD intégré, puis copier le fichier résultant. Bacula vous permet d'exécuter des scripts avant et après le processus de sauvegarde.

Étape 1 - Préparation et création de scripts

Commençons par créer un script pré-psql-backup.sh dans le dossier /etc/bacula/ qui fera le dump.

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

Écrivez-y les commandes suivantes.

#! / Bin / bash
# Effacement, création et configuration d'un dossier pour le vidage
rm -rf /opt/psql-backup/
mkdir -p /opt/psql-backup/
chown -R postgres:postgres /opt/psql-backup/
# Tout sauvegarder PostgreSQL bases de données au format SQL
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

Créons un script pour nettoyer le dossier temporaire.

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

Copiez-y les lignes suivantes.

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

Rendons maintenant les scripts exécutables.

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

Étape 2 - Configuration de Bacula

La section suivante décrira notre travail. Collez-le dans le fichier /etc/bacula/bacula-dir.conf.

Emploi {
Name = "Sauvegarde PSQL"
JobDefs = "Travail par défaut"
Activé = oui
Niveau = Complet
FileSet = "PSQL"
Horaire = "LocalQuotidien"
Stockage = LocalSD
Write Bootstrap = "/var/lib/bacula/PSQLBackup.bsr"
# Exécuter des scripts
ClientRunBeforeJob = "/etc/bacula/pre-psql-backup.sh"
ClientRunAfterJob = "/etc/bacula/post-psql-backup.sh"
}

Maintenant, la section décrivant le dossier cible pour la sauvegarde.

Ensemble de fichiers {
Nom = "PSQL"
Inclure {
Choix {
signatvaleur = MD5
}
Fichier = /opt/psql-backup/
}
}

Enregistrez et fermez le fichier, puis redémarrez Bacula pour appliquer les modifications.

systemctl recharger bacula-dir

Maintenant, le script créera des vidages et Bacula les écrira dans le stockage 'LocalSD' selon le calendrier 'LocalDaily'.