Sauvegarde Sonarqube PostgreSQL : Différence entre versions
(Aucune différence)
|
Version du 22 décembre 2020 à 15:01
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.
Votre avis
Nobody voted on this yet
|
|
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.
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
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. |
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