La stratégie de départ
Depuis un moment, ma stratégie de backup est la suivante :
- La plupart de mes fichiers sont dans Dropbox (déjà ça aide)
- Je fais un clone local tous les soirs sur un disque externe avec SuperDuper
- 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.
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 :