Sauvegarder son site WordPress avec Borg Backup

Sauvegarder son site WordPress avec Borg Backup

Nous allons voir dans cet article comment configurer Borg Backup et plus précisément Borgmatic pour sauvegarder par exemple son site WordPress. Borgmatic est un outil écrit en python qui permet de paramétrer facilement les sauvegardes avec Borg. Nous allons donc pouvoir utiliser la déduplication ainsi que le chiffrement et l’intégrité pour garantir la sécurité des sauvegardes en les stockant sur un serveur distant.

Pré-requis

  • Il faut donc 2 serveurs : le serveur hébergeant WordPress et le serveur servant de stockage aux sauvegardes. Pour cette démonstration j’ai utilisé 2 VPS avec Ubuntu 20.04.
  • Le ssh doit être activé et paramétré pour autoriser la connexion via clé publique.
  • Borg backup doit être installé sur les 2 serveur ( pas obligatoire sur le serveur de stockage mais vivement conseillé pour augmenter les performances). Pour l’installation il suffit de lancer
sudo apt install borgbackup


Installation Borgmatic

Il faut installer python 3 et pip (l’installateur de paquets python) si ce n’est pas déjà le cas et lancer l’installation de borgmatic.

sudo apt install python3 python3-pip
sudo pip3 install --upgrade borgmatic

paramétrage

Ensuite on génère un fichier de configuration par défaut au format yaml qui sera stocké dans /etc/borgmatic/.

sudo generate-borgmatic-config

Puis on initialise le répertoire distant pour qu’il soit chiffré.

borg init --encryption=repokey-blake2 user@server:backup

Renseignez une passphrase relativement longue pour assurer un chiffrement complexe. Il ne reste plus qu’à éditer le fichier de configuration avec votre éditeur préféré :

sudo nano /etc/borgmatic/config.yaml

Pour sauvegarder WordPress, il faut faire un dump (export) de la base mysql/mariadb ainsi qu’une copie du répertoire où est installé le site ( habituellement dans /var/www ou /var/www/html ) . Ci-dessous un exemple de configuration borgmatic permettant de sauvegarder ces 2 éléments.

location:
    source_directories:
        - /var/www/html/wordpress

    repositories:
        - user@votre_serveur:repertoire
retention:
    keep_daily: 7
hooks:

    mysql_databases:
        - name: bdd_name
          username: bdd_user
          password: bdd_password

Attention de bien décommenter toutes les directives utilisées. Vous pouvez utilisez la commande validate-borgmatic-config pour vérifier le fichier de configuration. Si vous avez des erreurs de type « did not find expected key« , il y a soit des erreurs d’espace/tabulation soit des directives non commentées (Pour les premières je vous conseille un éditeur type notepad++, vous gagnerez beaucoup de temps 😉 ).

Vous pouvez maintenant lancer une sauvegarde avec la commande ci-dessous qui vous permet de vérifier ce qui est sauvegarder.

borgmatic --verbosity 1 --files

Pour lister et vérifier les backups :

borgmatic --verbosity 1 --list
borgmatic --verbosity 1 --check

Et voila, il ne reste plus qu’à planifier le tout dans un job cron ( ici tous les jours à 23h) :

0 23 * * * root borgmatic create -c /etc/borgmatic/config.yaml --stats 2>&1

Voila, vos sauvegardes sont chiffrées et sécurisées. Cela demande un peu de configuration mais c’est très efficace, surtout en terme d’espace disque utilisé grâce à la déduplication.

Source : https://torsion.org/borgmatic/

VOIR AUSSI Borg Backup, un outil de sauvegarde libre et performant

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.