Le rm -rf
est une commande Bash similaire à DROPCommande SQL. À moins que vous n'ayez une réplique (sauvegarde) de votre table de base de données, vous perdrez toutes les données.
rm -rf est une commande qui, lorsqu'elle est invoquée sans les privilèges root, supprimera tous les dossiers auxquels l'utilisateur a accès. Lorsqu'il est invoqué avec les privilèges root, il effacera votre disque dur.
Je n'ai pas eu la malchance de faire l'erreur d'exécuter ce code sur un serveur de production auparavant, mais tout le monde n'a pas eu cette chance. Voici quelques histoires intéressantes rm -rf que vous pourriez trouver pertinentes.
1. Thomas & the CLI-based Trash Program
Thomas était dans son laboratoire universitaire Unix travaillant sur un projet à mi-parcours pour lequel il était connecté à un serveur dans un laboratoire adjacent en utilisantPuTTY + RealVNC.
Son projet était simple : créez un programme CLI "trash" qui prend une liste de chemins de fichiers et les déplace vers un~/.trash
répertoire. Vous pouvez ensuite "vider la corbeille" qui exécute rm sur le répertoire. Il avait terminé la première partie et terminait la commande vide.
D'une manière ou d'une autre, il a défini la mauvaise variable qui a laissé le chemin de suppression comme /
et il avait un accès sudo. Rien ne s'est passé lorsqu'il a exécuté le code au début, mais peu de temps après, il est devenu glitch et a commencé à afficher des parasites. Ctrl + C n'a pas pu aider. Ensuite, le moniteur s'est éteint et s'est déconnecté.
Son code a exécuté un sudo rm-rf /
et cela a effacé toutes les données sur le serveur. Heureusement pour Thomas, il travaillait sur le serveur de test du département et a pu récupérer les données à partir des disques de sauvegarde. Il n'a pas perdu son admission.
2. Un nettoyage pendant une session de sauvegarde
Alex était administrateur réseau dans une entreprise qui sauvegardait ses machines via des scripts. Un vendredi fatidique, il a mis à jour le script avec le texte, rm -rf ${DIRECTERY}/
au lieu de
rm -rf ${DIRECTORY}/ – mise à jour de la commande vers
rm-rfcar le ${DIRECTERY} est devenu une chaîne vide.
La session de sauvegarde a commencé plus tard dans la nuit et avant qu'Alex ne le sache, toutes les machines du réseau ont été nettoyées ! Heureusement pour lui, l'entreprise sauvegarde les fichiers toutes les heures, donc aucun dommage n'a été causé.Malgré cela, ce fut un week-end chargé. C'est assez ironique qu'une tâche de sauvegarde efface les systèmes, n'est-ce pas ?
3. Le nettoyeur récursif automatisé
Une fois Eric travaillait sur un serveur de fichiers et souhaitait nettoyer automatiquement certains fichiers toutes les semaines environ. Il a planifié sa ligne et l'a testée dans le but de ne supprimer que les fichiers relativement plus anciens. Son travail se trouvait dans un seul répertoire, il ne pensait donc pas que quelque chose pouvait mal tourner. Eh bien, il a découvert plus tard qu'il s'était trompé.
Il a exécuté la commande suivante et cela a fonctionné. Ensuite, il a ajouté manuellement la ligne dans la crontab et c'est alors qu'il a remplacé par erreur le .
par un / .
trouver . -type f -nom-ctime -60 -exec rm -rf {} \;
Avance rapide jusqu'à une semaine plus tard et un nombre important de fichiers ont disparu. Le pire, c'est qu'ils ont été supprimés selon ce qui semblait être un schéma aléatoire. Il pensait donc que l'entreprise était piratée jusqu'à ce qu'il effectue une vérification du code et réalise qu'il était le pirate.
Heureusement, il conservait des sauvegardes externes tous les jours afin de pouvoir corriger son erreur. Depuis ce jour, vous pouvez parier qu'il a été très prudent avec les commandes qu'il exécute avec des privilèges d'administrateur.
Les 2 principaux points à retenir existant dans les histoires ci-dessus sont 1, vérifiez toujours votre code et son effet résultant possible et 2, gardez toujours vos sauvegardes aussi à jour que possible car vous ne savez jamais quand ils vous seront utiles.
Connaissez-vous des histoires rm -rf folles d'expérience ou d'ailleurs ? Partagez-les avec nous dans la section des commentaires.