Anecdote autour de Rm -rf
A mes débuts en informatique, j’ai appris l’importance des sauvegardes en perdant des données auxquelles je tenais. A mes débuts sous Linux, j’ai fait un "rm -rf /".
Ce qui ne m’empêche d’encore fait des erreurs. J’ai fait quelques billets sur les sauvegardes. Dans ce billet, je voudrais faire part de comment j’ai effacé le répertoire partagé de ma Freebox par erreur. Et comment j’ai remis ça en place (car sauvegarder c’est bien savoir restaurer c’est mieux et l’enseignement que je tire de cette nouvelle erreur et les corrections appliquées.
Rq : tous les chemins sont des chemins absolus (à partir de /, pour faciliter la compréhension)
Sauvegarde de mon Yunohost
Actuellement, j’ai une procédure de sauvegarde à base de scripts shell lancés en tâche cron, avec envoi de mail etc. qui marche de plusieurs mois, j’ai déjà fait des restaurations des données (sauvegarder c’est bien, valider que ça restaure bien et que les sauvegardes sont correctes c’est mieux). Je dois boucler un billet qui explique tout ça pour détailler le script aux petits oignons.
La sauvegarde fournie par Yunohost
J’ai voulu tester la procédure de sauvegarde de Yunohost que l’on trouve ici
Les sauvegardes. Et forcément j’ai testé ça sur mon instance de tous les jours (je prévois de me recréer une instance de test pour ça, cf mon billetYunohost, Clonezilla et Virtualbox).
Sans entrer dans le détail, la procédure de sauvegarde de Yunohost nécessite d’avoir un répertoire /home/yunohost.backup/archives et la commande crée un sous répertoire /home/yunohost.backup/archives/201609081412 (Le nom du répertoire de sauvegarde est lié au fait que la sauvegarde est lancée le 08 septembre 2016 à 14h12). En temps normal, ça marche, ça copie les fichiers à sauvegarder et créé ensuite une archive.
C’est ce que je recommanderai, je pense dans un prochain billet parlant de Yunohost et les sauvegardes.
Le soucis
Dans mon dossier /home/genma/, j’ai un montage réseau Freebox qui pointe vers le dossier partagé de la Freebox v6 Révolution (qui fait donc NAS réseau). Pour un tutoriel, voir Yunohost et la fonction NAS de la Freebox
Le script de sauvegarde copie donc /home/genma et tout ce qu’il y a dedans. Comme il y a un répertoire Freebox, il cherche à sauvegarder tout ce dossier et les sous-dossiers. Ca fait beaucoup (ce n’est pas pour rien si j’utilise la Freebox comme NAS). Et le script rencontre un problème de place (la partition contenant /home est trop petite).
Je vois ça, j’ai arrêté le script. Et dans un excès de zèle (première erreur, toujours prendre le temps de réfléchir), je veux faire du ménage. Que forcément, je le fais en "root" (deuxième erreur) et à la barbare car je lance donc un
rm -rf /home/yunohost.backup/archives/201609081412
Ce qui a pour conséquence de supprimer les différents dossiers de
/home/yunohost.backup/archives/201609081412
ce que je veux, mais aussi les sous dossiers comme
/home/yunohost.backup/archives/201609081412/home/genma/ (qui est une copie de /home/genma/)
ce que je veux mais surtout
/home/yunohost.backup/archives/201609081412/home/genma/Freebox
qui est un montage réseau de la Freebox... Et ce rm -rf efface donc tout le contenu de la Freebox...
Solutions
Heureusement, j’ai des sauvegardes que je sais restaurer. Chaque jour je lance un script qui sauvegarde la Freebox (via rsync) sur deux disques durs externes (règles des 3-2-1) Je n’ai donc qu’à faire la copie en sens inverse (fichiers de la Sauvegarde vers le disque dur de la Freebox)
Rq : je n’ai pas d’enregistrement sur la Freebox et on ne peut pas les sauvegarder (DRM...)
Pour éviter le soucis les fois suivantes, /home/genma/Freebox est désormais un lien symbolique (la commande ln -s) vers /Freebox.
/Freebox est alors le point de montage du partage réseau de la Freebox.
Il me reste à vérifier qu’une copie de /home/genma/Freebox (qui est don lien symbolique) et un rm -rm de /home/yunohost.backup/archives/201609081412/home/genma/Freebox ne suive pas le lien symbolique (qui pointe ensuite vers un montage réseau)
Conclusion
J’espère que cette anecdote pour sera utile, vous fera réfléchir. Il est toujours bon d’apprendre des erreurs des autres. Et pensez aux sauvegardes. Et ce n’est pas "Oui je sais, faudrait que je le fasse mais" mais un "Oui, je fais et ça marche" que je veux entendre ;)
Pour convaincre les personnes, dans mes conférences sur les bases de l’hygiène numérique je dis "le PC devant moi tombe et ne marche plus. Qu’est ce que je perds d’important. Ce sont des données et fichiers là que je dois sauvegarder. Posez vous la même question en lisant ce message. La machine qui vous sert à lire ces mots ne marche plus. Perdez vous des données ? Si oui, c’est que vous devez pensez à sauvegarder". Et si la réponse est "c’est dans le cloud", ça nécessite d’autres explications et un autre débat dont je parle et parlerai dans d’autres articles :)