Je ne sais pas s'il existe des solutions toutes faites par ailleurs mais, partant du principe qu'un utilisateur non informaticien est quand même capable de suivre une procédure si elle est bien rédigée, il est possible, avec MySQL / MariaDB ou PostgreSQL de faire une sauvegarde régulière de la BDD et de la réinjecter ailleurs.
Exemple avec MySQL / MariaDB...
1) Sauvegarde d'une BDD :
mysqldump -u [user ayant les privilèges mini pour permettre la sauvegarde de la BDD] -p[son mot de passe collé au -p] [nom de la BDD] > chemin/vers/fichier_de_sauvegarde.sql
2) Chargement d'une sauvegarde dans une BDD créée mais vierge sur un autre poste :
mysql -u [user ayant les privilèges mini pour permettre la sauvegarde de la BDD] -p[son mot de passe collé au -p] [nom de la BDD] < chemin/vers/fichier_de_sauvegarde.sql[
=> il n'y a que le nom du programme et le sens de la flèche qui change.
Il y a plein d'options à mysqldump. Voir la doc.
La commande de sauvegarde peut être mise dans un script exécutable et dans une tâche quotidienne. On prendra soin aussi de nettoyer les fichiers de sauvegarde si on les horodate.
Exemple de sauvegarde avec PostgreSQL :
pg_dump [nom de la BDD > chemin/vers/fichier_de_sauvegarde.sql
La aussi, voir la doc pour pg_dump.
Il y a aussi des solutions peut-être encore plus rigoureuses puisque PostgreSQL génère des journaux de transaction mais je ne me suis pas encore penché sur le sujet.
Donc, en résumé :
1) Mettre en oeuvre une sauvegarde automatisée de la BDD
2) Écrire la procédure adéquate pour restaurer une sauvegarde en cas de crash.
Partager