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.
Écrivez-y les commandes suivantes.
# 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.
Copiez-y les lignes suivantes.
rm -f /opt/psql-backup/*
Rendons maintenant les scripts exécutables.
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.
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.
Nom = "PSQL"
Inclure {
Choix {
signatvaleur = MD5
}
Fichier = /opt/psql-backup/
}
}
Enregistrez et fermez le fichier, puis redémarrez Bacula pour appliquer les modifications.
Maintenant, le script créera des vidages et Bacula les écrira dans le stockage 'LocalSD' selon le calendrier 'LocalDaily'.