Sauvegarde Sonarqube PostgreSQL

De EjnTricks
Révision de 22 décembre 2020 à 15:01 par Etienne (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Cet article présente le principe de sauvegarde de la base de données PostgreSql pour Sonarqube selon le principe mis en place pour PostgreSql.

Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Folder-icon.png Mise en place

Les scripts de sauvegarde et de configuration sont stockés dans le répertoire /var/opt/backups/sonar/.

#sudo mkdir -p /var/opt/backups/sonar
#sudo chown root:backup /var/opt/backups/sonar
#sudo chmod 770 /var/opt/backups/sonar

Les sauvegardes sont placées dans le répertoire /var/opt/backups/sonar/db qu'il faut créer. Seul le compte root doit pouvoir y accéder.

#sudo mkdir /var/opt/backups/sonar/db
#sudo chown root:root /var/opt/backups/sonar/db
#sudo chmod 700 /var/opt/backups/sonar/db
#sudo setfacl -Rdm g::0,o::0 /var/opt/backups/sonar/db

La dernière commande va permettre de forcer les permissions sur le répertoires et les éléments qui y seront créés.

Command-icon.png Scripts

Le script mis en place permet d'exécuter les outils de sauvegarde d'une base de données PostgreSql en spécifiant l'emplacement du fichier de configuration, à l'emplacement /var/opt/backups/sonar/sonar_autopostgresqlbackup.conf en redirigeant les messages d'exécution dans le fichier /var/log/backups/sonar_backup_db.log. En fin d'exécution, le script sh /var/opt/backups/sonar/sonar_backup.sh est exécuté pour déclencher la sauvegarde des fichiers avec Duplicity.

#!/bin/bash
/var/opt/autopostgresqlbackup/pg_backup_rotated.sh -c /var/opt/backups/sonar/sonar_autopostgresqlbackup.conf >> /var/log/backups/sonar_backup_db.log
sh /var/opt/backups/sonar/sonar_backup.sh


Icon-Configuration-Settings.png Configuration

La configuration de l'outil de sauvegarde est mis en place dans le fichier /var/opt/backups/sonar/sonar_autopostgresqlbackup.conf.

##############################
## POSTGRESQL BACKUP CONFIG ##
##############################

# Optional system user to run backups as.  If the user the script is running as doesn't match this
# the script terminates.  Leave blank to skip check.
BACKUP_USER=

# Optional hostname to adhere to pg_hba policies.  Will default to "localhost" if none specified.
HOSTNAME=

# Optional username to connect to database as.  Will default to "postgres" if none specified.
USERNAME=backup

# This dir will be created if it doesn't exist.  This must be writable by the user the script is
# running as.
BACKUP_DIR=/var/opt/backups/sonar/db/

# List of strings to match against in database name, separated by space or comma, for which we
# perform backup of the schema.
SCHEMA_FILTER="sonarqube" 

# List of strings to match against in database name, separated by space or comma, for which we only
# wish to keep a backup of the schema, not the data. Any database names which contain any of these
# values will be considered candidates. (e.g. "system_log" will match "dev_system_log_2010-01")
SCHEMA_ONLY_LIST=""

# Will produce a custom-format backup if set to "yes"
ENABLE_CUSTOM_BACKUPS=yes

# Will produce a gzipped plain-format backup if set to "yes"
#ENABLE_PLAIN_BACKUPS=yes
ENABLE_PLAIN_BACKUPS=no

# Will produce gzipped sql file containing the cluster globals, like users and passwords, if set to "yes"
#ENABLE_GLOBALS_BACKUPS=yes
ENABLE_GLOBALS_BACKUPS=no


#### SETTINGS FOR ROTATED BACKUPS ####

# Which day to take the weekly backup from (1-7 = Monday-Sunday)
DAY_OF_WEEK_TO_KEEP=7

# Number of days to keep daily backups
DAYS_TO_KEEP=7

# How many weeks to keep weekly backups
WEEKS_TO_KEEP=1

######################################

Les éléments de configuration sont les suivants.

Paramètre Valeur
BACKUP_USER
HOSTNAME
USERNAME backup

Utilisation du compte backup dans la base PostgreSql.

BACKUP_DIR /var/opt/backups/sonar/db/

Emplacement des fichiers produits par la sauvegarde de la base de données.

SCHEMA_FILTER "sonarqube"

Filtre sur uniquement le schéma sonarqube.

SCHEMA_ONLY_LIST
ENABLE_CUSTOM_BACKUPS yes

Demande de sauvegarde au format custom.

ENABLE_PLAIN_BACKUPS no

Pas de sauvegarde au format texte.

ENABLE_GLOBALS_BACKUPS no

Pa de sauvegarde des paramètres globaux. Identifiant du jour lors duquel la rotation hebdomadaire est réalisée.

DAY_OF_WEEK_TO_KEEP 7

Rotation hebdomadaire le dimanche.

DAYS_TO_KEEP 7

Conservation de 7 jours de sauvegardes journalières.

WEEKS_TO_KEEP 1

Conservation d'une seule semaine de sauvegarde hebdomadaire.

Lock-off-icon.png Droits d'accès

Les droits mis en place permettent de modifier et exécuter le script pour le propriétaire. Le groupe ne doit pas pouvoir modifier les fichiers

#sudo chmod 750 /var/opt/backups/sonar/sonar_autopostgresqlbackup.sh
#sudo chmod 640 /var/opt/backups/sonar/sonar_autopostgresqlbackup.conf