parent
bb4818688b
commit
74148a92de
|
@ -0,0 +1,27 @@
|
||||||
|
# Sauvegarder Jenkins avec ThinBackup, restic et rclone
|
||||||
|
|
||||||
|
Le plugin Jenkins [ThinBackup](https://plugins.jenkins.io/thinBackup/) permet d'effectuer des sauvegardes automatiques d'une instance Jenkins à intervalles réguliers. Ces sauvegardes peuvent être facilement exportées via les outils [`restic`](https://restic.net/) et [`rclone`](https://rclone.org/)
|
||||||
|
|
||||||
|
|
||||||
|
1. Installer et configurer le plugin [ThinBackup](https://plugins.jenkins.io/thinBackup/) (via "Administrer Jenkins" -> "Gestion des plugins" puis une fois installé, dans "Administrer Jenkins" -> "ThinBackup") sur votre instance Jenkins.
|
||||||
|
|
||||||
|
Dans les exemples suivants, nous partirons du principe que vous avez configurés des sauvegardes journalières complètes dans le répertoire `/var/jenkins/backups`.
|
||||||
|
|
||||||
|
2. Installer [`restic`](https://restic.net/) sur la machine. Soit par le gestionnaire de paquet si il est disponible, soit directement en téléchargeant les binaires sur le site officiel.
|
||||||
|
3. Installer [`rclone`](https://rclone.org/). Soit par le gestionnaire de paquet si il est disponible, soit directement en téléchargeant les binaires sur le site officiel.
|
||||||
|
4. Suivre la [documentation officielle](https://restic.readthedocs.io/en/stable/030_preparing_a_new_repo.html) de `restic` afin de créer un nouveau dépôt de sauvegarde. Via [`rclone`](https://restic.readthedocs.io/en/stable/030_preparing_a_new_repo.html#other-services-via-rclone), il est possible d'exporter le dépôt sur un espace de stockage distant, par exemple WebDAV (Owncloud propose par exemple un connecteur de ce type).
|
||||||
|
5. Vous pouvez utiliser le script suivant comme exemple pour définir une tâche journalière de sauvegarde:
|
||||||
|
|
||||||
|
```
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
export RESTIC_PASSWORD='<password>'
|
||||||
|
|
||||||
|
# Sauvegarde du répertoire /var/jenkins/backups dans le dépôt de sauvegarde <repo>
|
||||||
|
restic -r rclone:<repo>:backup/jenkins backup /var/jenkins/backups
|
||||||
|
|
||||||
|
# Rotation des sauvegardes, on conserve les 7 dernières sauvegardes
|
||||||
|
restic -r rclone:<repo>:backup/jenkins forget --keep-last 7 --prune
|
||||||
|
```
|
||||||
|
|
||||||
|
Sur Alpine, ce script peut par exemple être place dans le répertoire `/etc/periodic/daily` pour être exécuté automatiquement toutes les nuits par le service "cron".
|
Loading…
Reference in New Issue