Backups automatisés des BDD (MySQL/MariaDB) avec VPS

Avatar du membre
Eléphant du PHP | 88 Messages

23 juil. 2019, 14:11

Bonjour.

J'aimerai prendre vos avis SVP.

Pour les projets pro sur lesquels je bosse en ce moment, j'utilise des VPS Cloud d'OVH.

Pour les backups, j'utilise leur option payante "Sauvegarde automatique". OVH m'avais expliqué qu'il faisaient un Snapshot du VPS 1 fois par jour répliqué sur 3 serveur à eux.

Mais pour rajouter une sécurité supplémentaire, je souhaite ajouter un système de backups automatisés des bases de données.

J'ai donc programmé une tache cron qui exécute 2 fois par jour un fichier sh qui lui fait un mysqldump de mes BDD. Ce fichier sh zip toutes les BDD du VPS dans un dossier zipé que je stock sur le VPS.

Mais je souhaiterai aussi enregistrer ces backups ailleurs que sur les VPS (ailleurs que chez OVH).

Pour mes projets perso :

J'ai codé un script PHP avec google drive (avec leur API "google/apiclient").

Et en bas de mon fichier sh (qui fait le mysqldump) je rajoute cette ligne :

Code : Tout sélectionner

/usr/sbin/drive upload --file "$BACKUP_MYSQL.zip"
Donc quand ma tache cron appelle mon fichier sh : ça fait un backup des BDD, ça les stock sur mon VPS, et ça les envoie aussi sur mon compte Google Drive.

Ce système je l'utilise que pour mes projets perso qui n'ont pas de données confidentielles de clients, etc.

Par contre, pour des projet pro je n'envoi pas les backups sur Google Drive car on m'avait dit que ce n'est pas très légale (d'envoyer des données confidentielles de clients sur les serveurs de Google, etc.).

Mais on m'avais dit qu'avec Google Drive qu'on pouvait payer une option pour qu'ils cryptent nos données, etc. Mais je n'ai rien trouvé sur le sujet.

Est-ce vrai ?

Puis-je utiliser Google Drive pour conserver des BDD de projets pro sans crainte ?

Avez-vous d'autres conseils pour conserver les backups des BDD ailleurs que chez OVH ?

Merci beaucoup.

Eléphanteau du PHP | 17 Messages

24 juil. 2019, 16:54

Question cryptage pourquoi ne pas crypter toi même tes fichiers de backup ? avec /usr/bin/gpg si tu y a accès biensur...

Avatar du membre
Eléphant du PHP | 88 Messages

24 juil. 2019, 19:42

Merci pour ta réponse.
Mais d'un point de vu RGPD, je ne pense pas qu'on ai le droit d'envoyer ses données (même si on les crypte nous) chez Google Drive.

Eléphanteau du PHP | 17 Messages

25 juil. 2019, 09:01

Possible que ce ne soit pas trop légal au niveau RGPD (je n m'y connais pas du tout la dedans...)
Et puis google, je suis plutôt contre, moins on lui en donne, mieux c'est.
Donc t'as pas trop de solution en fait :
- tu te prends un serveur supplémentaire et tu y envoi tes backups
- tu paye pour un service situé sur le territoire
- tu récupère tout chez toi et tu stock sur média externe

Perso, je fais de backup de 4 serveurs dédiés. Pour cela j'utilise bacula sur un raspberry pi 3 avec un SSD de 250go.
Les datas sauvegardées sont de la base mysql/postgresql et principalement du site web.
J'ai un soft qui se connecte à bacula pour permettre la restauration des fichiers si besoin ou lancer un backup, ça fonctionne super bien.
Donc tout est chez moi et ça tourne 24h/24.
Donc, tout est chez moi.

Eléphanteau du PHP | 25 Messages

25 juil. 2019, 15:53

Bonjour,

1) Admettons que vous fassiez un snapshot journalier de votre serveur (le soir)
2) Si à la fin de la journée suivante le serveur plante et que vous deviez restaurer le snapshot plusieurs cas de figure se présentent
a) La perte des données de la journée est acceptable pour votre client : Le backup de la base en plus du snapshot VPS est inutile.
b) la perte des données acceptable est inférieur à la journée, et est par exemple d'une heure
=> Il vous faut faire tous les soirs, un backup complet de la base, le stocker sur le VPS et effectuer ensuite le snapshot du VPS.
=> Il vous faut ensuite effectuer toutes les heures un backup incrémentiel de la base que vous envoyez sur un support externe (VPS SSD par exemple) en contrôlant que la destination est identique à la source (afin de pouvoir restaurer la base de façon certaine).
=> Vous faites une rotation des backups incrémentiels sur 3 jours par exemple.

=> Vous pouvez récupérer un backup complet hebdomadaire si vous le souhaitez en plus, histoire d'avoir une sauvegarde de la base en dehors du VPS et que vous stockez en local.
Architecte de données & applications web
MCSE Data Management & Analytics