Meilleures pratiques pour les sauvegardes

Si vous hébergez vous-même votre instance, vous devez conserver des sauvegardes hors site au cas où un problème catastrophique surviendrait sur votre serveur. Imaginez que votre fournisseur de serveur fasse faillite un jour sans aucun préavis, ou que vous ayez accidentellement supprimé /var/discourse, effaçant ainsi toute votre installation.

Le strict minimum

Vérifiez que les sauvegardes sont activées.

Paramètres du site à envisager :

  • enable backups (activer les sauvegardes) : activé (activé par défaut)
  • backup frequency (fréquence des sauvegardes) : Quelle quantité de données êtes-vous prêt à perdre ? (Par défaut : 7 jours). @pfaffman recommande un jour.
  • backup time of day (heure de la sauvegarde) : À quel moment souhaitez-vous que votre forum soit en lecture seule pendant la sauvegarde ?
  • backup with uploads (sauvegarder avec les pièces jointes) : Activé, sauf si vous stockez les pièces jointes ailleurs ou si vous les sauvegardez par un autre moyen. (Par défaut : activé)
  • maxiumum backups (nombre maximum de sauvegardes) : À quel point êtes-vous paranoïaque ? De quelle espace disque disposez-vous ? (Par défaut : 5)

Cela vous permettra de restaurer une sauvegarde récente si votre base de données venait à se corrompre, mais cela ne vous protégera pas si votre serveur Discourse disparaît.

Sauvegardes distantes

Pour restaurer votre site sur un nouveau serveur, vous avez au minimum besoin de la sauvegarde créée par Discourse. Il sera beaucoup plus facile de configurer un nouveau serveur si vous disposez des conteneurs dans /var/discourse//containers.

La manière exacte de conserver des sauvegardes hors site dépasse quelque peu le cadre de ce document, mais une méthode consiste à utiliser un outil comme rsync pour copier les données vers un serveur distant. Il existe des dizaines de guides à ce sujet ; trouvez celui qui vous convient le mieux.

Vos fichiers dans /var/discourse/containers changent rarement, il n’est donc pas trop pénible de les sauvegarder manuellement uniquement lorsque vous apportez des modifications. Ils contiennent généralement vos paramètres SMTP et vos plugins, qui sont relativement faciles à reconstruire de mémoire, mais vous préférerez éviter de devoir le faire en cas d’urgence. Si cela devait arriver, vous pourriez toujours remettre les choses en marche, même avec quelques plugins manquants et la messagerie hors service, puis résoudre le reste pendant que le site fonctionne avec des limitations.

Sauvegarde vers S3

Le moyen le plus pratique de conserver des sauvegardes hors site est de les envoyer vers S3, comme décrit à l’adresse Set up file and image uploads to S3. Si vous le faites et que vous conservez vos paramètres de configuration S3 à un endroit accessible (ou dans votre fichier app.yml), vous pourrez restaurer votre site directement depuis S3 une fois le nouveau serveur configuré.

Il est possible d’intégrer des paramètres dans votre fichier app.yml. Si vous incluez quelque chose comme ceci dans la section env de votre app.yml, ces paramètres disparaîtront de l’interface web et vous pourrez restaurer une sauvegarde depuis la ligne de commande via Restore a backup from the command line sans avoir à créer un compte administrateur et à vous connecter.

  DISCOURSE_S3_ACCESS_KEY_ID: 'key'
  DISCOURSE_S3_SECRET_ACCESS_KEY: 'secret'
  DISCOURSE_BACKUP_LOCATION: 's3'
  DISCOURSE_ENABLE_S3_UPLOADS: true
  DISCOURSE_S3_BACKUP_BUCKET: 'my-backup-bucket'
  DISCOURSE_S3_REGION: 'us-west-1'

Si vous stockez également vos pièces jointes sur S3 et que vous faites confiance à la stabilité de votre fournisseur S3, vous pouvez configurer Discourse pour qu’il sauvegarde uniquement la base de données (voir le paramètre ci-dessus). Cela vous évitera de stocker plusieurs copies de toutes vos pièces jointes. Si vous choisissez cette voie, vous devez effectuer une restauration de test pour vous assurer que toutes vos pièces jointes sont bien présentes sur S3.

La pratique mène à la perfection

Bien qu’ disposer d’une copie de votre sauvegarde la plus récente soit le strict minimum nécessaire pour restaurer votre site en cas de crise, si vous voulez être vraiment sûr que vos sauvegardes fonctionnent, vous devriez les tester au moins une fois, voire périodiquement. Lancez un nouveau serveur et vérifiez si vous pouvez restaurer à partir d’une sauvegarde.

30 « J'aime »