Le but de cet article n’est pas de proposer un tutoriel complet pour la sauvegarde des éléments de MedShakeEHR, mais de donner des pistes issues de notre expérience personnelle.
Il peut être intéressant d’avoir un disque dur externe attaché au serveur MedShakeEHR et d’y enregistrer toutes les heures un état complet de vos dossiers. Cela permet de prévenir la casse matérielle du disque interne et de repartir avec le minimum de données perdues.
Il est possible de chiffrer un disque externe comme l’on chiffre le disque dur ou le SSD principal de son ordinateur. Suivant le format de la partition du disque, cela peut cependant complexifier la restauration. On peut alors choisir de chiffrer uniquement les fichiers placés sur le disque.
Voici par exemple de quoi générer une sauvegarde chiffrée de la base de données :
mysqldump -uUTILISATEURSQL -pPASSWORDBDD ehr | gzip | gpg --batch --passphrase MAPASSPHRASEBIENCHOISIE -c > ehr.sql.gz.gpg
Où :
– UTILISATEURSQL
est le login utilisateur
– PASSWORDBDD
est le mot de passe de la base de données
– MAPASSPHRASEBIENCHOISIE
est le mot de passe qui servira à chiffrer puis déchiffrer le fichier (il faut utiliser une phrase complexe et longue qui ne peut être devinée)
Il faudra bien sûr que les programmes nécessaires soient installés (gzip / gpg). On pourra complexifier les choses à partir de là. En effet ici le chiffrage est symétrique (même passphrase pour chiffrer, déchiffrer) et l’on peut aussi vouloir utiliser un chiffrage avec une paire de clés (privée / publique). On peut également faire varier le nom du fichier de destination pour conserver plusieurs versions horodatées.
Concernant les fichiers de MedShakeEHR, on pourra utiliser le très utile Duplicity pour aboutir simplement. Voilà un script qui lancé toutes les heures par exemple fera une sauvegarde complète tous les 3 jours (incrémentale sinon) de /home/ehr/ vers /media/disqueexterne/ehr (adapter le chemin de destination en fonction du point de montage du disque) et supprimera les sauvegardes vieilles de plus d’un mois.
export PASSPHRASE='MAPASSPHRASEBIENCHOISIE'
duplicity --full-if-older-than 3D /home/ehr file:///media/disqueexterne/ehr
duplicity remove-older-than 1M --force file:///media/disqueexterne/ehr
unset PASSPHRASE
Là encore, on pourra largement broder autour de cette solution en fonction de ses besoins et de son degré de paranoïa !
Article précédent
Article suivant