6 minutes de lecture

Sauvegarder Dropbox sur un cloud avec rclone

Sommaire

La stratégie de départ

Depuis un moment, ma stratégie de backup est la suivante :

  1. La plupart de mes fichiers sont dans Dropbox (déjà ça aide)
  2. Je fais un clone local tous les soirs sur un disque externe avec SuperDuper
  3. Je double tout ça d’une sauvegarde cloud via Arq Backup avec versionning (50$ par an pour 1 To, je recommande ++ )

Ayant dĂ©jĂ  briquĂ© mon mac bĂȘtement, je peux confirmer l’intĂ©rĂȘt du clone local : on redĂ©marre de suite, sans tout avoir Ă  tĂ©lĂ©charger.

Sauf que des fois, le disque n’est pas branchĂ© ou pas tout Ă  faire Ă  jour. Cela m’est aussi arrivĂ©, et avec Dropbox ou Arq, on retombe assez vite sur ses pieds.

Sauf qu’il y a un trou dans la raquette : tous mes fichiers Dropbox ne sont pas physiquement prĂ©sents sur mon mac. Donc ils ne sont pas sauvegardĂ©s ailleurs ; ni via Arq, ni via le clone. Et ça c’est mal


Si ma Dropbox s’efface (bug logiciel, crytoLocker, soyons fou), qu’est-ce qui se passe ?

Normalement, je me dis que le versionning de Dropbox devrait suffire, mais ce n’est pas totalement rassurant.

J’ai appris rĂ©cemment d’ailleurs qu’aucun outils Cloud ne le garantit. C’est Ă  l’utilisateur / au client de mettre en place lui-mĂȘme des backups des fichiers hĂ©bergĂ©s sur ces clouds (De Google Drive Ă  Office 365 ou ERP / CRM).

Donc mon cahier des charges : un outil pour faire une sauvegarde de l’intĂ©gralitĂ© de ma dropbox, vers un fournisseur Cloud, sans que cela ne coĂ»te un rein.

rclone pour faire du cloud to cloud

Le logiciel à utiliser, c’est clairement rclone.

DĂ©jĂ  parce qu’il gĂšre nativement la plupart des fournisseurs de cloud, et surtout parce qu’il permet de faire du cloud to cloud. Si je le lance sur ma machine, il ne va pas tout tĂ©lĂ©charger en local pour ensuite l’uploader sur le serveur de destination. Seulement indiquer au serveur concernĂ© de le faire directement.

Les performances et les dĂ©bits n’ont donc rien Ă  voir :)

Server Side Copy

Most remotes (but not all - see the overview) support server-side copy. This means if you want to copy one folder to another then rclone won’t download all < > the files and re-upload them; it will instruct the server to copy them in place.

Source

Gros bonus, il est Open Source.

OĂč stocker ses sauvegardes cloud ?

Pour le stockage, j’ai choisi d’utiliser de l’Object Storage, le standart pour ce type d’usage. On trouve facilement des fournisseurs et à bon prix.

En France, OVH, Scaleway en propose entre 5 et 10€ le To / mois (Amazon S3 est plus cher).

Le prix dĂ©pend principalement des frais de sortie des donnĂ©es (download ou egress). Dans notre cas, on n’est pas censĂ© tĂ©lĂ©charger ses backups chaque semaine donc l’impact sera faible surla tarif.

J’ai choisi d’utiliser l’Object Storage R2 de CloudFlare. Au mĂȘme niveau de tarifs, et j’aime bien leurs produits.

Pour 500 Go synchronisé, on parle de 7 à 8$ mensuels (calcul de prix ici )

Sauvegarde de sa dropbox vers un object storage compatible S3

AprĂšs avoir installĂ© rclone, il faut configurer les 2 stockages “remote”

La commande rclone config guide pas Ă  pas, la doc est complĂšte au besoin.

Ensuite, il suffit de lancer cette commande :

  rclone sync dropbox:Mon_dossier cf-r2:nom-du-bucket/ --dropbox-batch-mode sync

Ici dropbox et cf-r2 sont les noms que j’ai donnĂ© lors de l’étape de config initiale.

Et c’est tout ! Il n’y a plus qu’à programmer la commande chaque jour via une tñche cron, par exemple :

0 12 * * 1-5 /opt/homebrew/bin/rclone sync dropbox:Mon_dossier cf-r2:nom-du-bucket/ --transfers 12 --tpslimit 12 >> ~/Desktop/rclone_sync.log 2>&1

Synchro chaque midi du lundi au vendredi, et log sur le Bureau

⚠ À noter : pour ne pas se faire bloquer par Dropbox (erreur too_many_requests), j’ai dĂ» ajouter les commandes --transfers 12 --tpslimit 12 (voir ici)

Je suis en train de voir si le mode sync est le plus pertinent, Ă©tant donnĂ© qu’il implique beaucoup d’opĂ©rations de lecture Ă  chaque fois, alors que simplement copy pourrait faire le job.

Quelques commandes rclone utiles

Lister les fichiers de moins de 30 jours :

rclone lsl dropbox:Mon_dossier/ --max-age 30d

Supprimer les fichiers de plus de 30 jours:

rclone -nv delete dropbox:Mon_dossier/ --min-age 30d  

-nv permet de faire un test avant (dry-run) avec un log “verbeux”. À retirer pour la vraie commande mais plus safe de faire un test avant :)

La commande ci-dessus ne supprime pas les dossiers vides, pour ça il faut utiliser :

rclone -nv rmdirs dropbox:Mon_dossier/ --min-age 30d  

Backup externe de mes base de données et serveurs

Je suis en train de dĂ©ployer la mĂȘme logique pour les serveurs et bdd.

LĂ  encore, grace aux capacitĂ©s server to server, je lance en local, pas besoin d’installer rclone sur chaque serveur (et ce n’est pas possible sur un mutu ou une instance cloud de toute façon).

Cette approche offre une bonne protection contre un hack ou un disque chiffré, car les infos de connexion ne sont pas sur la machine infectée.

Pour ce cas, j’utilise le connecteur sFTP ou FTP, pour faire une copie des fichiers vers un cloud quelconque.

Remerciements et liens complémentaires

Merci Nico de m’avoir remis le nez dedans 😁

Et merci aux auteurs de ces 2 articles :