26 votes

Stratégie de sauvegarde pour django

J'ai récemment déployé un couple d'applications web intégré à l'aide de django (sur webfaction). Celles-ci seraient parmi les premiers projets de cette envergure qui je travaille, donc je voulais savoir ce qu'une stratégie de sauvegarde efficace est pour maintenir les sauvegardes à la fois sur webfaction et un autre emplacement.

EDIT:

Ce que je veux faire une sauvegarde?

Base de données et l'utilisateur de télécharger des médias. (mon code est géré par git)

16voto

Arthur Debert Points 3632

Je ne suis pas sûr qu'il y est une taille unique pour tous de répondre en particulier puisque vous n'avez pas dit ce que vous avez l'intention de sauvegarde. Mon habitude MO:

  • Code Source: l'utilisation de la source de contrôle comme svn ou git. Cela signifie que vous aurez généralement: dev, de déployer et de dépôt des sauvegardes pour le code (spécialement dans un drsc).
  • Base de données: cela dépend aussi de l'usage, mais généralement:
    • Avoir un dump_database.py gestion de la commande qui permettra de connaître le fonctionnement de paramètres et pour chaque db sera la sortie correcte db commande dump (en tenant compte de la db type et aussi le nom de la base).
    • Ont une tâche cron sur un autre serveur qui se connecte via ssh vers le serveur d'application, exécute le vidage de gestion de base de données de commande, les goudrons le fichier sql avec le nom db + timestamp comme nom de fichier et l'envoie vers un autre serveur (amazon s3 dans mon cas).
  • Fichier multimédia: par exemple, l'utilisateur télécharge. Garder une tâche cron sur un autre serveur en ssh sur le serveur d'application et les appels rsync vers un autre serveur.

La chose à garder à l'esprit cependant, il quel est le but de la sauvegarde. Si c'est accidentel (que ce soit une panne de disque, bug ou d'une injection sql) la perte de données ou tout simplement de la restauration, vous pouvez garder ces tâches cron sur le même serveur.

Si vous aussi vous voulez être sûr dans le cas où le serveur est compromis, vous ne pouvez pas garder la sauvegarde à distance des informations d'identification (sshkeys, amazon secret etc) sur le serveur d'applications! Sinon un attaquant d'accéder au serveur de sauvegarde.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X