# Sauvegardes automatiques de bases de données vers S3

> Planifiez des sauvegardes MySQL, MariaDB et PostgreSQL vers votre bucket compatible S3, conservez-en autant que nécessaire, téléchargez-les ou restaurez-les.

La page **Sauvegardes** d'un serveur réalise des sauvegardes planifiées de ses bases de données. Chaque sauvegarde est un dump compressé (`.sql.gz`) d'une ou plusieurs bases de données, envoyé vers un bucket compatible S3 qui vous appartient. Vous décidez de la fréquence des sauvegardes et du nombre à conserver, et vous pouvez télécharger ou restaurer n'importe laquelle depuis la même page.

La page est disponible sur chaque serveur doté d'un moteur de base de données (MySQL, MariaDB ou PostgreSQL) : les serveurs d'application et les serveurs de base de données.

![La page Sauvegardes avec une sauvegarde planifiée chaque nuit et une liste de sauvegardes réussies](https://ops.vimonto.com/docs-media/fr/server-backups.webp?v=161e760d "Sauvegardes planifiées de bases de données")

## Avant de commencer : ajouter un stockage

Les sauvegardes vont vers votre propre stockage objet, jamais vers Vimonto Deploy. Ajoutez d'abord un stockage de sauvegarde à votre organisation dans **Paramètres** → **Intégrations** (voir [stockage des sauvegardes](https://ops.vimonto.com/docs/fr/connections/storage-providers)). Sont pris en charge Amazon S3, DigitalOcean Spaces, Hetzner Object Storage, Scaleway Object Storage, OVHcloud Object Storage, Cloudflare R2 et les autres stockages compatibles S3.

Tant qu'il n'y a pas de stockage, la page affiche **Ajoutez d’abord un stockage**.

![La section Stockage des sauvegardes des intégrations d'une organisation](https://ops.vimonto.com/docs-media/fr/storage-providers.webp?v=161e760d)

## Planifier une sauvegarde

1. Ouvrez le serveur et choisissez **Sauvegardes** dans la barre latérale.
2. Cliquez sur **Planifier une sauvegarde**.
3. Remplissez le formulaire :

| Champ | Signification |
| --- | --- |
| **Nom** | Un nom pour cette planification, comme « Sauvegarde quotidienne ». |
| **Bases de données** | Les bases de données à sauvegarder. Choisissez-en au moins une. |
| **Stockage** | Le fournisseur de stockage qui reçoit les sauvegardes. |
| **Quand** | **Toutes les heures**, **Chaque nuit** (à minuit), **Hebdomadaire** (le dimanche à minuit), **Mensuel** (le premier du mois à minuit) ou **Planification personnalisée**. |
| **Planification** | Uniquement pour une planification personnalisée : une expression cron à cinq champs, par exemple `30 3 * * *` pour chaque nuit à 3 h 30. |
| **Conserver** | Le nombre de sauvegardes réussies à conserver, de 1 à 365. |
| **Dossier dans le bucket** | L'emplacement des fichiers, comme `backups/web-1`. Lettres, chiffres, points, tirets et tirets bas, avec `/` entre les dossiers. |
| **E-mail si une sauvegarde échoue** | Facultatif, et prérempli avec votre propre adresse. Cette adresse reçoit un e-mail quand une sauvegarde échoue ; laissez le champ vide pour ne pas en recevoir. |

4. Cliquez sur **Planifier une sauvegarde**.

Les planifications suivent le fuseau horaire du serveur, que vous pouvez modifier dans les [paramètres du serveur](https://ops.vimonto.com/docs/fr/servers/server-settings). La première sauvegarde s'exécute à la prochaine heure prévue ; cliquez sur **Sauvegarder maintenant** pour en faire une immédiatement.

Un serveur peut avoir plusieurs planifications, par exemple une toutes les heures qui conserve 24 sauvegardes et une mensuelle qui en conserve 12.

## Comment fonctionne une sauvegarde

À l'heure prévue, Vimonto Deploy lance une tâche en arrière-plan que vous pouvez suivre sur la page [Activité](https://ops.vimonto.com/docs/fr/organization/activity) ou ouvrir depuis le lien **Sortie** de la sauvegarde. Pour chaque base de données, il :

1. exporte la base de données sur le serveur : `mysqldump` (ou `mariadb-dump`) en une seule transaction, avec routines, triggers et événements, ou `pg_dump` pour PostgreSQL ;
2. compresse le dump avec gzip ;
3. l'envoie directement du serveur vers votre bucket, dans `{folder}/{date and time}/{database}.sql.gz`.

Le serveur ne reçoit qu'un lien d'envoi de courte durée pour ce seul fichier. Vos clés de stockage restent dans Vimonto Deploy et ne sont jamais écrites sur le serveur.

Chaque sauvegarde de la liste affiche son heure, sa taille totale et son statut : **En cours**, **Réussi** ou **Échoué**. Une sauvegarde échouée affiche son erreur ; les fichiers envoyés avant l'échec sont supprimés, car une sauvegarde partielle ne sert à rien. Les membres qui voient le serveur reçoivent aussi une notification **Échec de la sauvegarde**, par les canaux qu'ils ont choisis dans les [notifications](https://ops.vimonto.com/docs/fr/more/notifications).

### Combien de sauvegardes sont conservées ?

Après chaque sauvegarde réussie, Vimonto Deploy conserve les sauvegardes réussies les plus récentes, jusqu'au nombre indiqué sous **Conserver**, et supprime de votre bucket tout ce qui est plus ancien, sauvegardes échouées comprises. La page affiche les 20 sauvegardes les plus récentes de chaque planification.

## Télécharger une sauvegarde

Ouvrez le menu d'actions (**⋯**) d'une sauvegarde réussie et choisissez **Télécharger** suivi du nom de la base de données. Votre navigateur télécharge le fichier `.sql.gz` directement depuis votre stockage, via un lien valable cinq minutes.

## Restaurer une sauvegarde

1. Ouvrez le menu d'actions (**⋯**) d'une sauvegarde réussie et choisissez **Restaurer** suivi du nom de la base de données.
2. Sous **Dans la base de données**, choisissez la base de données dans laquelle restaurer. La base d'origine est présélectionnée, mais vous pouvez en choisir une autre, par exemple pour restaurer dans une copie.
3. Cliquez sur **Continuer**, saisissez le nom de la base de données cible pour confirmer et cliquez sur **Restaurer**.

Le serveur télécharge le dump et le charge dans la base de données cible. Ses tables sont remplacées par celles de la sauvegarde.

> [!WARNING]
> La restauration remplace les tables de la base de données cible. Les modifications faites depuis la sauvegarde sont perdues. Pour comparer d'abord, créez une base de données vide sur la page [Bases de données](https://ops.vimonto.com/docs/fr/servers/databases) et restaurez dans celle-ci.

## Modifier ou supprimer une planification

Ouvrez le menu d'actions (**⋯**) d'une planification et choisissez **Modifier** pour changer l'un de ses réglages, ou **Supprimer** pour la retirer. Supprimer une planification arrête les nouvelles sauvegardes et supprime de votre stockage toutes les sauvegardes qu'elle a créées. Vous confirmez en saisissant le nom de la planification.

Pour supprimer une seule sauvegarde, ouvrez son menu d'actions et choisissez **Supprimer**. Une sauvegarde échouée a plutôt son propre bouton **Supprimer**.

## Qui peut gérer les sauvegardes ?

Les membres autorisés à gérer les sauvegardes peuvent les planifier, les lancer, les télécharger, les restaurer et les supprimer ; par défaut, ce sont les propriétaires, administrateurs, managers et développeurs. Chaque membre qui voit le serveur voit ses planifications et la liste des sauvegardes ; si votre organisation limite les membres aux serveurs de leurs [équipes](https://ops.vimonto.com/docs/fr/organization/teams), il s'agit uniquement des serveurs de leurs équipes. Consultez [membres et rôles](https://ops.vimonto.com/docs/fr/organization/members-and-roles).

## Questions fréquentes

### Les fichiers ou le serveur entier sont-ils sauvegardés ?

Non. Les sauvegardes ne contiennent que les bases de données. Votre code se trouve dans votre dépôt Git et est redéployé à chaque [déploiement](https://ops.vimonto.com/docs/fr/sites/deployments) ; conservez les fichiers envoyés par les utilisateurs dans un stockage objet ou sauvegardez-les séparément.

### Que se passe-t-il si le serveur est hors ligne à l'heure prévue ?

Les sauvegardes ne démarrent que pour les serveurs actifs. Une sauvegarde qui ne peut pas s'exécuter n'est pas rattrapée ; la suivante s'exécute à sa prochaine heure prévue.

### Puis-je restaurer une sauvegarde sur un autre serveur ?

Pas depuis la page : une restauration se charge dans une base de données du même serveur. Téléchargez le fichier `.sql.gz` et importez-le sur l'autre serveur, par exemple avec `gunzip -c backup.sql.gz | mysql database_name` dans le [terminal](https://ops.vimonto.com/docs/fr/servers/terminal).

### Pourquoi une nouvelle planification n'affiche-t-elle aucune sauvegarde ?

La première sauvegarde s'exécute à la prochaine heure prévue. Cliquez sur **Sauvegarder maintenant** pour en faire une immédiatement et vérifier que votre stockage fonctionne.

### Que deviennent les sauvegardes quand un serveur est transféré ?

Les planifications et la liste des sauvegardes sont retirées du serveur, car le stockage appartient à l'ancienne organisation ; les fichiers eux-mêmes restent dans ce stockage. Le nouveau propriétaire planifie des sauvegardes vers son propre stockage. Voir [transférer un serveur](https://ops.vimonto.com/docs/fr/servers/transfer-a-server).
