Le 31 Mars se tient le « World backup day » ou, en français Journée mondiale de la sauvegarde des données informatiques.

Nous allons donc voir dans ce tutoriel comment mettre en place une sauvegarde automatique (quotidienne dans notre cas – tous les jours à 5h) afin de préserver nos précieuses données en lieu ‘sûr’ (cloud).

Pré-requis:

  • Un serveur (dédié, VPS, votre propre PC) tournant sur Debian 8, 9 ou 10
  • Un cerveau, une ou deux mains

On verra d’abord comment installer Rclone qui nous permettra de mettre en place un accès permanent à votre cloud, directement sur votre VPS.


Mise en place de Rclone

  1. Connectez-vous en SSH sur votre serveur et authentifiez-vous
  2. Passez en superutilisateur (root)
sudo -i ou su root
  1. Installez unzip
wget http://ftp.de.debian.org/debian/pool/main/u/unzip/unzip_6.0-25_amd64.deb && dpkg -i unzip_6.0-25_amd64.deb
  1. Lancez l’installation de Rclone avec la commande suivante (sélectionnez tout le bloc d’un coup)
wget https://downloads.rclone.org/rclone-current-linux-amd64.zip && unzip rclone-current-linux-amd64.zip && cd rclone-v*.**-linux-amd64 && sudo cp rclone /usr/sbin/ && sudo chown root:root /usr/sbin/rclone && sudo chmod 755 /usr/sbin/rclone &&cd ~ && rm -r rclone-v*.**-linux-amd64 && rm rclone-current-linux-amd64.zip
  1. Configurez votre service de cloud préféré sur Rclone

Vous pouvez suivre ce tutoriel https://doc.ubuntu-fr.org/tutoriel/monter_un_cloud#parametrage_de_rclone à partir de « Paramétrage de Rclone »

Veuillez noter que dans ce tutoriel, hubic est le service utilisé, mais vous pouvez utiliser un service différent (Google Drive, OneDrive, FTP…)

  1. Montez le Cloud en tant que lecteur sur Debian

On attaque le gros morceau, on va maintenant utiliser Rclone pour monter le Cloud sur votre serveur Debian.

On va d’abord créer un dossier à la racine qui sera le point de montage

mkdir /cloud

Ensuite, on va tenter de monter notre Cloud (CloudRclone est à remplacer par ce que vous avez configuré plus haut dans Rclone (par exemple, Gdrive)

rclone mount CloudRclone:default /cloud/

Si vous avez un dossier précis sur votre cloud et que vous voulez le monter la commande devient :

rclone mount CloudRclone:default/votre_dossier /cloud/

On automatise tout ça, pour qu’à chaque redémarrage le Cloud soit monté

crontab -e

On ajoute la ligne suivante en bas du fichier, puis on ferme en sauvegardant avec CTRL + X suivi de Y (ou O)

@reboot rclone mount CloudRclone:default /cloud/

Mise en place de la sauvegarde

On a fait plus de 90%, maintenant il suffit de mettre en place un script qui va effectuer toutes les commandes, et l’automatiser

  1. Téléchargeons le script depuis mon serveur et donnons lui le droit d’être exécuté
wget https://alois-gaucher.fr/blog/downloads/backup_html.sh && mv backup_html.sh /root && chmod a+x /root/backup_html.sh
  1. Modifions maintenant le fichier
nano /root/backup_html.sh

Les lignes qui nous intéressent sont les suivantes

backup_dir=/chemin_montage_rclone/${backup_dir_date}
# Remplacez /chemin_montage_rclone/ par le dossier que nous avons créé tout à l'heure, et sur lequel nous avons monté le Cloud.

dir_to_save=/var/www/html/
# Laissez par défaut si vous souhaitez que le script sauvegarde le dossier contenant vos pages html, sinon modifiez le.

Sauvegardez avec CTRL + X suivi de Y (ou O)

  1. On teste rapidement la bonne exécution du script en faisant un premier démarrage
sh /root/backup_html.sh

Si tout se passe bien, votre terminal ne devrait pas vous afficher d’erreurs

  1. Tout ce qui nous reste à faire maintenant, c’est automatiser le lancement du script
crontab -e

On ajoute la ligne suivante en bas du fichier, puis on ferme en sauvegardant avec CTRL + X suivi de Y (ou O)

0 5 * * * sh /root/backup_html.sh

Problèmes rencontrés et support

Si vous rencontrez un souci, copiez-collez l’erreur que vous avez à l’exécution du script et envoyez-là moi.

Vous pouvez me joindre sur Discord couquino#6627 ou par mail à hello@alois-gaucher.fr