Confluence - Backup / Restore#
Cette page décrit la procédure pour sauvegarder et restaurer les données applicatives et les bases de données MySQL liées à Jira ou Confluence. Il s'agit d'une procédure manuelle qui vient en complément des plans de sauvegarde automatique. Cette procédure est utile pour créer une sauvegarde avant une opération à risque sur le service ou pour restaurer des données à la suite d'un incident.
Le mécanisme de sauvegarde s'appuie sur Restic, le client est installé par défaut sur les serveurs.
Politique de rétention#
On conserve :
- Toutes les sauvegardes sur les 14 derniers jours (Automatiques et manuelles)
- Une sauvegarde par semaine pendant un mois (la plus récente)
- Une sauvegarde par mois pendant 6 mois (la plus récente).
Sauvegarde automatique#
La base de données et les données applicatives sont sauvegardées quotidiennement en HNO.
La planification est définie via un timer systemd
systemctl list-timers backup.timer
NEXT LEFT LAST PASSED UNIT ACTIVATES
Thu 2024-01-11 03:00:00 UTC 18h left Wed 2024-01-10 03:00:01 UTC 5h 9min ago backup.timer backup.service
Sauvegarde manuelle#
Pour exécuter une sauvegarde complète (Données + base de données), il faut utiliser le service backup
sudo systemctl start backup.service
La sauvegarde est terminée quand on revient au prompt, sachant qu'il est possible de consulter le compte-rendu des dernières sauvegardes
sudo journalctl -u backup.service
Et de lister les sauvegardes existantes
sudo -i restic snapshots
repository ad2d863a opened (version 2, compression level auto)
ID Time Host Tags Paths
----------------------------------------------------------------------------------------------------------
...
0ee64d0c 2024-01-07 03:00:03 confluence-stg confluence,database,mysql /mysql
88b86c35 2024-01-07 03:00:05 confluence-stg confluence,database,confluencedb /confluencedb
7b237926 2024-01-07 03:00:31 confluence-stg confluence,data /var/atlassian/confluence
...
----------------------------------------------------------------------------------------------------------
24 snapshots
Restauration complète#
1. Réinstallation de l'application#
Danger
Lors de la réinstallation du service Jira ou Confluence, il ne faut surtout pas appliquer le bootstrap. Vous risqueriez de perdre les secrets des comptes admin, bases de données et chiffrement des sauvegardes.
- Réinstallation de Jira
OU
- Réinstallation de Confluence
2. Paramétrer la restauration#
Se connecter en root sur le serveur à restaurer
Définir l'application à restaurer (Jira ou Confluence)
export APP='jira'
#export APP='confluence'
3. Restauration des bases de données#
# Stop service
systemctl stop "${APP}.service"
# Get IDs snapshots
restic snapshots --tag mysql
ID_DB_MYSQL='<ID>'
restic snapshots --tag "${APP}db"
ID_DB_APP='<ID>'
# Restore dumps mysql + application
restic dump "${ID_DB_MYSQL}" mysql | mysql -D mysql
restic dump "${ID_DB_APP}" "${APP}db" | mysql -D "${APP}db"
4. Restauration des données#
# Get IDs snapshots
restic snapshots --tag data
ID_DATA='<ID>'
# Restore application data
restic restore "${ID_DATA}" --target /
5. Redémarrage et vérifications#
Redémarrer le service applicatif
# Start service
systemctl start "${APP}.service"
Et vérifier les logs applicatifs