[bash-backup] Un script pour automatiser vos sauvegardes

un script pourquoi faire?

Dans le cadre de mon activité freelance, je commence a héberger sur mon espace O2switch pas mal de site pour mes clients. Il est bien sur inconcevable de se passer de sauvegarde…

Je ne voulais pas d’extension de sauvegardes car cela me contraignait

  • a installer une instance par site
  • a trouver la meilleure solution selon le CMS utilisé (WordPress ou Prestashop)
  • Trouver une solution pour les développement « from scratch »

Dans un premier temps, j’ai chercher des script PHP avec de jolies interfaces pour paramétrer mes sauvegardes… seulement ces scripts sont très gourmand en ressources et la vitesse de chargement de mes sites s’en ressentaient lors des périodes de sauvegarde quotidienne.

Avec les conseils de l’excellent support d’O2Switch, j’ai donc entrepris de créer un petit script bash automatisant les sauvegardes dont j’ai besoin à savoir:

  • Les bases de données
  • les fichiers constituant les sites

Ok, et il fait quoi ce script?

Le script Bash-Backup disponible gratuitement sur mon Github permet:

  1. De supprimer automatiquement les sauvegardes plus anciennes que X jours
  2. De faire un backup des bases de données MySql et de les compresser en tar.bz2
  3. De faire une sauvegarde de tous vos fichiers et de les compresser en tar.gz
  4. D’exporter via rsync toutes ses sauvegardes de manières automatiques et sécurisés (SSH)
  5. De générer de slogs d’exécution des taches.

Pré-requis

  • En avoir besoin 😉
  • Disposer de 2 hébergements proposant et autorisant SSH et Rsync. Le premier hébergera vos sites, le second stockera a distance pour plus de sécurités vos fichiers de sauvegarde.
  • Connaitre le principe d’authentification par clé publique/privée pour automatise les sauvegardes dans une tache Cron.