El rm -rf
es un comando Bash similar a DROPComando SQL. A menos que tenga una réplica (copia de seguridad) de la tabla de su base de datos, perderá todos los datos.
rm -rf es un comando que, cuando se invoca sin privilegios de root, eliminará todas las carpetas a las que el usuario tiene acceso. Cuando se invoca con privilegios de raíz, borrará su disco duro.
No he tenido la mala suerte de cometer el error de ejecutar este código en un servidor de producción antes, pero no todos han tenido esa suerte. Aquí hay algunas historias interesantes de rm -rf con las que puede identificarse.
1. Thomas y el programa de basura basado en CLI
Thomas estaba en su laboratorio College Unix trabajando en un proyecto de mitad de período para el cual estaba conectado a un servidor en un laboratorio adyacente usandoPuTTY + RealVNC.
Su proyecto fue sencillo: Crear un programa CLI “trash” que toma una lista de rutas de archivos y las mueve a un~/.trash
directorio. Luego puede “vaciar la papelera” que ejecuta rm en el directorio. Tenía la primera parte hecha y estaba completando el comando vacío.
De alguna manera, configuró la variable incorrecta que dejó la ruta de eliminación como /
y tenía acceso a sudo. No sucedió nada cuando ejecutó el código al principio, pero poco después comenzó a fallar y comenzó a mostrar estática. Ctrl + C no pudo ayudar. A continuación, el monitor quedó en blanco y se desconectó.
Su código ejecutó un sudo rm-rf /
y borró todos los datos del servidor. Afortunadamente para Thomas, estaba trabajando en el servidor de prueba del departamento y pudo recuperar los datos de los discos de respaldo. No perdió su admisión.
2. Un borrado limpio durante una sesión de copia de seguridad
Alex era un administrador de red en una empresa que realizaba copias de seguridad de sus máquinas a través de secuencias de comandos. En un fatídico Friday, actualizó el guión con el texto, rm -rf ${DIRECTORIO}/
en lugar de
rm -rf ${DIRECTORIO}/: hacer que el comando se actualice a solo
rm-rfporque ${DIRECTORIO} se convirtió en una cadena vacía.
La sesión de copia de seguridad comenzó más tarde esa noche y, antes de que Alex se diera cuenta, ¡todas las máquinas de la red estaban limpias! Por suerte para él, la empresa realiza copias de seguridad de los archivos cada hora, por lo que no se produjeron muchos daños.A pesar de eso, fue un fin de semana ajetreado. Bastante irónico que un trabajo de respaldo borre los sistemas, ¿verdad?
3. El limpiador recursivo automatizado
Una vez Eric estaba trabajando en un servidor de archivos y quería limpiar automáticamente algunos archivos cada semana más o menos. Planificó su línea y la probó con el objetivo de eliminar solo archivos relativamente antiguos. Su trabajo estaba dentro de un solo directorio, por lo que no pensó que nada pudiera salir mal. Bueno, más tarde descubrió que adivinó mal.
Él ejecutó el siguiente comando y funcionó. Luego, agregó manualmente la línea en el crontab y fue entonces cuando reemplazó por error el .
con un / .
encontrar . -tipo f -nombre-ctime -60 -exec rm -rf {} \;
Avance rápido hasta una semana más tarde y una cantidad significativa de archivos habían desaparecido. Lo peor es que se eliminaron en lo que parecía ser un patrón aleatorio, por lo que pensó que la empresa estaba siendo pirateada hasta que ejecutó una verificación de código y se dio cuenta de que él era el hacker.
Afortunadamente, mantuvo copias de seguridad externas todos los días para poder corregir su error. Desde ese día, puede apostar que ha sido muy cuidadoso con los comandos que ejecuta con privilegios de administrador.
Los 2 puntos principales para llevar a casa que existen en las historias anteriores son 1, siempre verifique dos veces su código y su posible efecto resultante y 2, siempre mantenga sus copias de seguridad lo más actualizadas posible porque nunca sabe cuándo serán útiles.
¿Conoces alguna rm -rf historias locas por experiencia o en otro lugar? Compártelas con nosotros en la sección de comentarios.