Créer un Script Bash de sauvegarde avec rclone

Tutoriel rclone
Rclone, sauvegarde de données

Dans ce tutoriel, nous allons apprendre à sauvegarder les données importantes d’un serveur linux, en utilisant un script Bash dans lequel nous définirons tout d’abord la source de données et la cible, puis le transfert de l’une à l’autre en utilisant la commande rclone.  

Rclone est un programme informatique en ligne de commande open source, multithread, permettant de gérer ou de migrer du contenu sur le cloud et d’autres stockages à haute latence.

Configurer un storage avec rclone config

  • Installer rclone
curl https://rclone.org/install.sh | sudo bash
  • Configurer rclone
rclone config

Ici nous devons configurer un nouvel espace distant avec la lettre n

Le cli vous demande d’entrer le nom de votre espace distant. L’espace distant utilisé dans ce tutoriel est un Object Storage S3 hébergé chez OVH. Nous lui donnons un nom arbitraire.

Important ! Si vous utilisez également ce type de stockage, vous pouvez récupérer le fichier rclone de configuration dans l’interface OVH de votre Object Storage, au niveau de l’utilisateur :

Ensuite, vous devez choisir le type de stockage à configurer. Pour un stockage S3, choisissez le chiffre 4.

L’étape suivante vous demande le provider. Ici nous choisissons le chiffre 32, n’importe-quel fournisseur S3 compatible.

Pour l’authentification, nous choisissons 2 pour true.

Pour l’authentification, nous choisissons 2 pour true.

L’access_key_id vous est donné par le fichier de configuration.

L’access_key_id vous est donné par le fichier de configuration. Puis, entrez la clé secrète de l’utilisateur.

Ensuite, entrez la région fournie dans le fichier de configuration.

Puis, entrez l’option endpoint.

Puis, la location constraint.

Puis, entrez l’option ACL (1 pour private).

Enfin, choisissez « n » au prompt des options avancées.

Votre storage est configuré et prêt à recevoir vos données ! Tapez « y » si tous vous semble correct.

Stocker des données sur le storage configuré via rclone

Dans cette étape, nous allons créer un script de sauvegarde, puis utiliser la commande rclone dans ce script, afin de transférer l’archive du backup intégral vers notre storage configuré.

Pour lister tous les remotes paramétrés :

rclone listremotes

Transférer une archive vers le storage distant via rclone copy

rclone copy /path/to/your/file.tar.gz webstreet-backup:/path/on/remote/

Transférer une archive vers le storage distant via rclone sync

rclone sync /path/to/your/file.tar.gz webstreet-backup:/path/on/remote/

Avec rclone sync, si le fichier existe déjà sur le storage distant et qu’il n’a pas changé, il ne sera pas transféré.

Exemple :

rclone sync /backup/$BACKUP_DATE.tar.gz webstreet-backup:/main-backup/

Ici, je souhaite synchroniser l’archive « /backup/$BACKUP_DATE.tar.gz » à la racine du bucket « main-backup », du storage intitulé « webstreet-backup ». Attention ! Le bucket doit avoir été créé au préalable :

rclone mkdir webstreet-backup:/main-backup

Vérifier le transfert des données via rclone

Pour vérifier que vos données ont bien été transférées sur votre storage, vous pouvez lister le contenu du storage:

Pour lister le contenu du storage

rclone ls webstreet-backup:/

Quelques commandes rclone utiles

Pour lister le contenu du storage

rclone ls webstreet-backup:/

Pour supprimer un élément du storage

rclone delete webstreet-backup:/test.tar.gz

Pour supprimer un dossier du storage

rclone purge webstreet-backup:/main-backup

Pour créer un dossier dans le storage (Le dossier se nomme un « Bucket ».)

rclone mkdir webstreet-backup:/main-backup

Pour envoyer un dossier du storage vers le serveur physique via rclone copy

rclone copy webstreet-backup:/main-backup/20240903.tar.gz /backup/

Ce tutoriel rclone est terminé. Vous avez des questions ou des suggestions ? Faites-nous en part en commentaire !