Tutoriel Linux : sauvegarder son serveur avec rsyncy

Lorsqu’on dispose d’un serveur en ligne, il est indispensable d’en sauvegarder les répertoires contenant les données que l’on ne veut surtout pas perdre. Mais il est aussi très important de sauvegarder les données stockées en bases de données.

Sous Linux il existe pléthore de logiciels spécialisés pour réaliser cela, mais nous allons voir ici comment le faire avec rsyncy

Sauvegarder le contenu des bases de données MySQL

Allez sur votre serveur et dans un shell bash tapez (remplacez MonMotDePasse et mabase respectivement par le mot de passe et le nom de la base de données MySQL à sauvegarder :

mysqldump --user='root' --password='MonMotDePasse' mabase > mabase.sql

Cette commande produit un fichier mabase.sql qui est auto-porteur, c’est à dire que si un jour vous avez à restaurer la base de données, il suffira d’exécuter ce fichier sql par la commande ci-dessous, lancée depuis l’utilitaire mysql connecté à votre base de données vide (mysql -u utilisateur -p mabase) :

source ./mabase.sql;

Vous pouvez mettre autant de commandes mysqldump que vous le souhaitez dans un shell script bash, et ainsi créer autant de fichier .sql de sauvegarde que nécessaire, dans un répertoire que nous allons sauvegarder sur une machine distante grâce à rsyncy.

Rsyncy va vous permettre de respecter la règle de base pour les sauvegardes, à savoir : la règle du 3-2-1-1-0 :

  • 3 copies de sauvegarde
  • 2 supports différents
  • 1 sauvegarde hors site
  • 1 copie hors ligne
  • 0 erreur testée à la restauration

Rsync et rsyncy

rsync est un utilitaire simple et très puissant pour réaliser ses sauvegardes dans le monde Linux. Le principe est simple : on installe rsync sur les deux machines (celle à sauvegarder, le serveur, et celle qui va recevoir une copie des fichiers, la machine de sauvegarde), et il suffit de lancer la commande rsync sur la machine de sauvegarde.

Si par extraordinaire rsync n’était pas installé sur une machine, une simple commande suffit à l’installer :

sudo apt install rsync

Rsync est très puissant mais a un défaut pénible à l’usage : il n’affiche pas de pourcentage de progression de la sauvegarde.

C’est pourquoi nous allons utiliser rsyncy qui est une surcouche à rsync, à n’installer que sur la machine de sauvegarde (inutile sur le serveur), par la commande :

curl https://laktak.github.io/rsyncy.sh|bash

Une fois installé, la sauvegarde du répertoire /home/user/sujet (par exemple) du serveur se fait depuis la machine de sauvegarde avec la commande :

rsyncy -a -z --delete user@serveur:/home/user/sujet  /chemin_cible

-a préserve les droits sur les fichiers

-z compresse la transmission

La sauvegarde est incrémentale : si on la lance deux fois, elle ne sauvegardera les fichiers qu’une seule fois puisque les fichiers sont déjà sauvegardés. –delete permet de s’assurer que les fichiers supprimés sur le serveur sont aussi supprimés sur la machine de sauvegarde.

Comme le lecteur peut l’imaginer, rsync/rsyncy s’appuie sur ssh. En conséquence, si SSH a été configuré pour écouter sur un autre port que 22 sur le serveur (100 par exemple), la commande doit être adaptée :

rsyncy -a -z -e 'ssh -p 100' --delete user@serveur:/home/user/sujet  /chemin_cible

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *