Sauvegarde des données d’un site autonome : stratégie de sauvegarde et stockage hors site pour bases de données, fichiers et configurations

Sur un site autonome, ce n'est pas "tout le serveur" qu'il faut sauvegarder, mais trois types d'actifs : la base de données (transactions et contenus), les fichiers (téléversements des utilisateurs et médias) et la configuration (code et environnement). Les fréquences et les méthodes de sauvegarde de ces trois catégories sont totalement différentes ; les sauvegarder ensemble mène forcément à...

独立站备份三件套:数据库、文件、配置,各备各的Backup trio: database, files, config — each backed up separately 反直觉:备份成功不算数,能在 4 小时内恢复出来才算数Counter-intuitive: a backup means nothing until it restores in 4h 资产Asset 怎么备How 数据库Database 每天全量+每小时增量Daily full + hourly binlog RPO ≤ 1 小时RPO ≤ 1 hour 文件Files 对象存储异地同步Offsite object storage sync 用户上传件单独备User uploads backed up 配置Config 代码进 Git,配置进版本库Git tracked, secrets in vault 改一次备一次Version every change 3-2-1 原则:3 份副本、2 种介质、1 份异地3-2-1: 3 copies, 2 media, 1 offsite 本地磁盘一份、服务器一份、异地对象存储一份;后两份放在不同机房Local disk + server + offsite bucket in a different region 红线:只在同一台机器上备 = 没备;每季度必须做一次恢复演练Red line: backup on the same box = no backup; drill quarterly 恢复演练从备份恢复到一台新机器,计时,目标 RTO ≤ 4 小时Restore to a fresh box quarterly, target RTO ≤ 4 hours
Les trois sauvegardes indispensables d’un site autonome : fréquence de sauvegarde des bases de données, fichiers et configurations, et stratégie de stockage hors site 3-2-1

Sauvegarde des données d’un site autonome : stratégie de sauvegarde et stockage hors site pour bases de données, fichiers et configurations

Conclusion d’abord : Sur un site autonome, ce n’est pas “tout le serveur” qu’il faut sauvegarder, mais trois types d’actifs : la base de données (transactions et contenus), les fichiers (téléversements des utilisateurs et médias) et la configuration (code et environnement). Les fréquences et les méthodes de sauvegarde de ces trois catégories sont totalement différentes ; les sauvegarder ensemble mène forcément à des problèmes. Appliquez le principe 3-2-1 : 3 copies, 2 supports, 1 copie hors site, les deux dernières étant hébergées dans des centres de données distincts. Le point contre-intuitif essentiel : une sauvegarde réussie ne compte pas ; seule compte une restauration complète en 4 heures à partir de cette sauvegarde. Une sauvegarde sans exercice de restauration équivaut à aucune sauvegarde.

1. Pourquoi on ne peut pas se contenter de “sauvegarder tout le disque en un seul paquet”

Beaucoup de webmasters sauvegardent en “compressant tout le serveur chaque jour”. Cela semble prudent, mais pose trois problèmes.

Premièrement, le paquet complet est trop volumineux : une sauvegarde prend des heures et les sauvegardes incrémentielles ne peuvent pas être assez fines. Deuxièmement, la fréquence de changement des trois types d’actifs est radicalement différente : la base de données change toutes les heures, les fichiers changent occasionnellement, la configuration reste inchangée pendant des mois. Utiliser la même fréquence revient soit à gaspiller des ressources, soit à ne pas sauvegarder assez. Troisièmement, lors d’une restauration complète, on restaure aussi les fichiers inutiles et le code infecté par des chevaux de Troie, ce qui revient à restaurer l’incident avec.

Le jugement contre-intuitif est ici :La valeur d’une sauvegarde ne dépend pas de “ce qui a été sauvegardé”, mais de “peut-on restaurer, et à quelle vitesse”. J’ai vu trop de sites avec une “sauvegarde quotidienne” qui, le jour où le serveur est tombé, ont découvert que le fichier de sauvegarde était corrompu, que le mot de passe était introuvable et que la copie hors site n’avait jamais été transférée avec succès.

Le seul critère d’acceptation d’une stratégie de sauvegarde : prendre cette sauvegarde sur une machine neuve et voir si le site peut tourner en 4 heures. C’est aussi la raison pour laquelle Sauvegarde et restauration : s’entraîner à réagir met l’accent sur la “vérification de la restaurabilité”.

Type d’actif Contenu Fréquence de changement Conséquence d’une sauvegarde manquée
Base de données Commandes, demandes de devis, utilisateurs, tables de contenu Toutes les heures Perte des transactions et des données clients
Document Téléversements des utilisateurs, images, pièces jointes, médias Quotidienne Perte des pièces jointes et des images produits
Configuration / code Thème, extensions, configuration Nginx, variables d’environnement À chaque modification Impossible de reproduire le site d’origine après réinstallation
Sauvegarde complète du disque Tout ce qui précède plus les fichiers système inutiles Quotidienne Trop volumineux, trop lent, restauration infectée

2. Sauvegarde de la base de données : complète plus incrémentielle, RPO limité à 1 heure

La base de données est l’actif le plus important des trois, et celui qu’on ne peut pas se permettre de perdre. La stratégie repose sur le couple « complet + incrémental » : chaque nuit, une sauvegarde logique complète (mysqldump ou outil équivalent), et avec le binlog activé, un incrément toutes les heures. Dans le pire des cas, on ne perd donc que la dernière heure de données : cet indicateur s’appelle le RPO (objectif de point de reprise).

Deux points de vigilance : premièrement, ne lancez pas la sauvegarde complète aux heures de forte activité, programmez-la entre 3 h et 5 h du matin ; deuxièmement, vérifiez l’intégrité des fichiers de sauvegarde, ne vous contentez pas de constater que « le fichier a bien été créé » — restaurez-en un échantillon dans une base temporaire pour le contrôler, sinon un fichier peut très bien être corrompu depuis une exécution donnée. Quand la base grossit, la sauvegarde logique ralentit : c’est le moment d’envisager une sauvegarde physique ou les sauvegardes automatiques intégrées à votre base de données cloud.

Exemple concret : À 4 h du matin, une table de commandes est supprimée par erreur. Procédure de restauration : on restaure d’abord la sauvegarde complète de la nuit précédente dans une base temporaire, puis on rejoue le binlog depuis 4 h jusqu’à l’incident, et la base revient à une minute avant l’incident. L’opération prend environ une heure, avec une perte réduite au minimum.

Mode de sauvegarde Fréquence RPO Étape concernée
Sauvegarde logique complète quotidienne 1 fois par jour Environ 24 heures Moins de 5000 visites par jour
Complet + incrément binlog Complet chaque jour, incrément chaque heure ≤ 1 heure Solution standard pour un site marchand
Sauvegarde automatique de la base cloud Gérée par le fournisseur Généralement en moins de 5 minutes La solution sereine après le passage au cloud
Réplication maître-esclave en temps réel Temps réel proche de 0 À ajouter en cas d’exigence de haute disponibilité

3. Fichiers et configuration : sauvegardez-les à part, ne les mélangez pas avec la sauvegarde de la base

Les fichiers (pièces jointes des demandes envoyées par les utilisateurs, photos produits, médias) sont volumineux et changent lentement : ils n’ont pas leur place dans la sauvegarde quotidienne de la base. Utilisez un outil de synchronisation incrémentale dédié pour répliquer le répertoire d’upload vers un stockage objet distant, une fois par jour suffit. Pour la gestion des gros fichiers comme les images et les vidéos, voir Gouvernance des actifs médias.

La configuration et le code sont ce qu’on oublie le plus facilement. Beaucoup sauvegardent très bien leur base de données, mais oublient que la configuration Nginx, les versions des extensions et les variables d’environnement sont dispersées sur le serveur : après une réinstallation, plus personne ne sait comment le site tournait.

La bonne méthode : mettez tout le code et la configuration dans un dépôt Git, et stockez les variables d’environnement et les clés secrètes à part, dans un coffre-fort de mots de passe, hors de Git. La configuration n’est alors plus « sauvegardée » : chaque modification est versionnée, et vous pouvez revenir à n’importe quel état antérieur à tout moment.

Actifs Outil / mode de sauvegarde Fréquence Stockage distant
Base de données complète Script automatique mysqldump Chaque nuit Stockage objet dans une autre région
Incrément de la base Archivage du binlog Chaque heure Distant avec le complet
Fichiers envoyés par les utilisateurs Synchronisation incrémentale vers le stockage objet Quotidienne Écriture directe sur le stockage distant
Code et configuration Commit Git À chaque modification Dépôt distant dans le cloud
Variables d’environnement et clés Coffre-fort de mots de passe Enregistré à chaque modification Conservé chiffré dans le cloud

4. Stockage distant : comment appliquer la règle 3-2-1

La règle 3-2-1 est un classique de la sauvegarde, mais les équipes d’une seule personne n’en appliquent souvent que la moitié. Elle signifie en réalité : conserver 3 copies des données, sur 2 supports différents, dont 1 hors site. Le point clé du « hors site », ce n’est pas « un autre disque dur », mais « un autre endroit qui ne disparaîtra pas en même temps à cause du même incident ».

Concrètement, sur un serveur cloud : une copie récente sur le disque local (la plus rapide à restaurer), une copie dans le centre de données du serveur, et une copie envoyée vers un stockage objet dans une autre ville. Un snapshot de disque bloc dans le même compte et la même région ne compte pas comme un vrai hors site : incendie du centre de données ou compte verrouillé, et toutes ces copies disparaissent ensemble. Conservez la copie hors site au moins 30 jours, avec une archive mensuelle d’un semestre, pour éviter qu’un rançongiciel ne chiffre aussi les anciennes sauvegardes.

Exemple concret : Le serveur est chiffré par un rançongiciel. La sauvegarde locale et celle du serveur sont chiffrées, mais la copie d’il y a 30 jours dans le stockage objet de l’autre ville est hors ligne, hors de portée du logiciel de chiffrement. Vous restaurez cette copie sur une nouvelle machine : vous perdez au pire 30 jours de données, mais le site tient.

C’est tout l’intérêt de la copie hors site : elle n’est pas là pour restaurer plus vite, mais pour exister quand « toutes les copies en ligne ont disparu ». Pour la procédure de nettoyage après un piratage, voir Après un piratage de site.

Emplacement de la copie Support Durée de conservation Rôle
Disque local du serveur Disque cloud 7 derniers jours Restauration rapide au quotidien
Stockage objet du même centre de données Stockage objet 30 derniers jours Restauration en cas de panne serveur
Stockage objet hors site Bucket d’une autre région 30 jours + archive mensuelle Sinistre au niveau du centre de données / du compte
Copie téléchargée en local Disque personnel Une copie par trimestre Filet de sécurité quand le fournisseur lui-même n’est pas fiable

5. Les pièges : les quatre fausses sécurités les plus courantes en matière de sauvegarde

Premier piège : « la sauvegarde est sur la même machine ». Stocker le fichier de sauvegarde dans un autre dossier du serveur : si le serveur tombe ou est supprimé, les deux copies disparaissent ensemble. La sauvegarde doit quitter cette machine. Deuxième piège : « ne jamais tester la restauration ». Le script affiche une sauvegarde réussie chaque jour, mais vous n’avez jamais réellement restauré — il est fort possible qu’une sauvegarde soit corrompue depuis six mois.

Troisième piège : « sauvegarder les données mais pas la configuration ». La base de données est restaurée, mais impossible de se rappeler quelle version du plugin était utilisée ni comment Nginx était configuré : le site ne redémarre toujours pas. Quatrième piège : « aucune alerte sur la sauvegarde ». Le script de sauvegarde est tombé en panne pendant trois semaines sans que personne ne le remarque, et on ne découvre qu’il était vide que le jour où il faut restaurer. Une tâche de sauvegarde doit déclencher une alerte en cas d’échec : deux jours consécutifs sans succès et vous êtes prévenu.

Fausse sécurité Symptôme visible Vrai problème Bonne pratique
Sauvegarde dans un autre dossier de la même machine Un fichier de sauvegarde chaque jour Tout disparaît si le serveur tombe Stocker impérativement ailleurs
Ne jamais tester la restauration Le script de sauvegarde affiche un succès Le fichier de sauvegarde peut être corrompu Un exercice de restauration par trimestre
Sauvegarder uniquement la base de données La base de données est sauvegardée chaque jour La configuration et le code sont éparpillés Configuration dans Git, clés dans un coffre-fort
Aucune alerte sur la sauvegarde Trois semaines de panne sans que personne ne le sache La sauvegarde échoue en silence Alerte après 2 jours d’échec consécutifs

FAQ — Questions fréquentes

À quelle fréquence faut-il vraiment sauvegarder un site e-commerce ?
Tout dépend de l’actif. Pour la base de données, une sauvegarde complète par jour plus un incrément binlog toutes les heures, avec un RPO sous 1 heure. Pour les fichiers envoyés par les utilisateurs, une synchronisation incrémentielle par jour. Pour le code et la configuration, chaque modification part dans Git. N’appliquez pas une seule fréquence à tous les actifs. Sur un petit site sans transaction, une sauvegarde complète quotidienne de la base suffit, mais dès que les commandes et les demandes de devis arrivent, il faut passer à l’heure.
Dans le principe 3-2-1, à quelle distance commence le “hors site” ?
L’important n’est pas la distance physique, mais le fait qu’un même incident ne puisse pas détruire les deux copies en même temps. Deux disques dans la même salle ne comptent pas comme hors site, pas plus qu’un snapshot dans le même compte et la même région. Il faut au minimum une copie dans un stockage objet d’une autre ville. Pour les données vraiment critiques, téléchargez en plus une copie sur un disque personnel en secours trimestriel, pour qu’il reste une copie même si le fournisseur tombe.
Pourquoi faire des tests de restauration, si le fichier de sauvegarde existe ?
Non. Une sauvegarde réussie n’est pas une sauvegarde restaurable. Sans test, on découvre souvent au moment de restaurer que le fichier est corrompu, que le mot de passe est perdu ou que la procédure est obsolète. Faites-le chaque trimestre : restaurez la dernière sauvegarde sur une machine neuve et chronométrez. Visez un RTO sous 4 heures ; au-delà, optimisez la procédure. C’est à ce prix qu’une sauvegarde tient vraiment.
Les snapshots automatiques du fournisseur cloud suffisent-ils ?
Comme copie parmi d’autres, oui, mais pas comme seule copie. Les snapshots du fournisseur restent dans le même compte et la même région : en cas de panne de salle, de compte bloqué ou de défaillance du fournisseur, ils disparaissent avec vos données de production. La bonne méthode : gardez le snapshot pour la restauration rapide au quotidien, et envoyez en plus une copie de la base et des fichiers vers un stockage objet hors site. Deux copies séparées, pour concilier confort quotidien et secours en cas de sinistre.
Faut-il sauvegarder les images et pièces jointes envoyées par les utilisateurs avec la base de données ?
Non, ne mélangez pas. Les pièces jointes sont volumineuses et changent peu : les inclure dans la sauvegarde complète quotidienne de la base la rendrait lourde et lente. Synchronisez simplement le dossier des envois vers un stockage objet hors site avec un outil incrémentiel, une fois par jour. Pour le nommage, la compression et la réutilisation des visuels produits et des médias, pensez aussi à une gouvernance des médias, pour éviter d’accumuler des images lourdes et en double dans les sauvegardes.
Comment un script de sauvegarde sait-il qu’il a lâché sans prévenir ?
Ajoutez une alerte d’échec à la tâche de sauvegarde. Après exécution, vérifiez trois choses : le code de sortie vaut-il 0, la taille du fichier de sauvegarde est-elle normale, la copie hors site est-elle bien transférée. Si l’un des points échoue, ou si aucun nouveau fichier de sauvegarde n’est généré pendant deux jours, prévenez immédiatement sur le canal que vous consultez. Une sauvegarde sans alerte, c’est parier sa sécurité sur un script qui ne se trompera jamais.

Pour conclure

La sauvegarde de données est le domaine où l’on se félicite le plus facilement : le script tourne, les fichiers sont stockés, tout semble sûr. Mais la seule vraie validation, c’est le jour où l’on restaure. Pour un site indépendant géré seul, séparez la sauvegarde des trois types d’actifs, conservez une copie hors site selon la règle 3-2-1 et faites un exercice de restauration chaque trimestre : cette routine se met en place en un après-midi, ensuite elle tourne toute seule chaque jour et vous jetez un œil aux alertes une fois par semaine.

Trois étapes concrètes : premièrement, une sauvegarde complète quotidienne de la base de données plus une incrémentale toutes les heures, avec un RPO cible d’une heure ; deuxièmement, séparez les fichiers de la configuration, synchronisez les fichiers chaque jour vers un stockage objet hors site et versionnez la configuration dans Git ; troisièmement, faites un exercice de restauration chaque trimestre en visant moins de 4 heures, et branchez une alerte en cas d’échec des tâches de sauvegarde.

Une fois ces trois étapes faites, face à une panne de serveur, vous passez de « j’espère que la sauvegarde est bonne » à « je sais que je peux remettre le site en ligne en une demi-journée ». Pour le rythme de maintenance, référez-vous au calendrier de maintenance du site et planifiez le tout ensemble.

Une phrase à retenir : sauvegarder, ce n’est pas copier des fichiers, c’est acheter à votre site une assurance « en cas de pépin, on repart de zéro » — une police dont on n’a jamais testé l’indemnisation ne vaut pas plus qu’un chiffon de papier.

Cratère
Cratère Expert Cratère

Officiel de l'organisme · Cratère Crater

Cratère (Crater) est une société de services d'expansion internationale spécialisée dans le développement de sites WordPress autonomes, le référencement Google et la croissance globale GEO, au service des secteurs du matériel intelligent, de l'équipement industriel, du SaaS et des énergies nouvelles.

Capacités produitLivre blanc méthodologiqueRapports sectoriels
965partages
78articles de base de connaissances