Esta que sigue me pasó hace un rato y no es la primera vez lamentablemente: el log de <algo> te llena el disco de mierdas y se te rompe  alguna otra cosa que estaba en producción y el mundo se desploma por una fracción de hora hasta que reaccionás y todo vuelve a la normalidad.

Unas veces la sacás barata y no pasa de un susto, otras se te corrompe el sistema de archivos de una VM o el log de una base de datos o no te queda otra que restaurar ese <algo> que no funciona desde el backup que por suerte tenías.

Por que si estás a cargo de un sistema cualquiera y no tenés nada que te avise que se te llenó un disco, un backup seguramente tenías, verdad?

 

Foto de un sysadmin real pensando que hacer después de que se le llenó un disco, borró el log y ahora no le funciona nada.

Foto de un sysadmin real pensando que hacer después de que se le llenó un disco, borró el log y ahora no le funciona nada.

 

Bueno, acá va: esta es la forma rápida de devolver a la vida, de resucitar un Linux cuando dejó de funcionar por que se quedó sin espacio en tal o cual disco, usualmente la partición raíz, por que si no tenés nada que te avise que se te llenó un disco, ni tenés backup, tampoco tenés compartimentado el disco en particiones, verdad?

Continúa leyendo

 

Otro título sugerido: como hacer que los nombres de archivo y directorio de Windows sean compatibles con Linux con un único comando.

 

Va otro mini-micro-nano TIP para mi cada vez mas pequeña audiencia como así también para cuando en el futuro tenga que recurrir nuevamente al comando este y no me acuerde como se usa:

Detox: el único y último programa que vas a necesitar para reemplazar espacios por guiones bajos, vocales con tilde por vocales limpias, eliminar parentesis y un largo etcétera, pasando desde cualquier char que no sea UTF-8 compatible y rompa o te obligue a salvar la línea de comandos de linux con una contrabarra a un archivo con nombre limpio que luego podés parsear sin inconvenientes.

Como bien dice la descripción del comando en el manual:

DESCRIPTION
The detox utility renames files to make them easier to work with. It removes spaces and other such annoyances. It’ll also translate or cleanup Latin-1 (ISO 8859-1) characters encoded in 8-bit ASCII, Unicode characters encoded in UTF-8, and CGI escaped characters.

O la salida del comando si lo ejecutás sin parámetros adicionales:

usage: detox [-hLnrvV] [-f configfile] [-s sequence] [--dry-run] [--special]
file [file ...]

 

detox - corregir recursivamente o en masa nombres de archivo eliminando espacios y otros caracteres molestos para hacerlos compatibles con Linux

detox – corregir recursivamente o en masa nombres de archivo eliminando espacios y otros caracteres molestos para hacerlos compatibles con Linux

 

Como se usa:

Continúa leyendo

 

Cheatsheet: como convertirte en el seasoned sysadmin que siempre soñaste.

 

Ese, el que gana poco trabajando para una multinacional de medio pelo para arriba y únicamente produce vitamina D cuando la luz de su display le pega en la palma de las manos. Ese que nunca una mujer podría encontrar atractivo y que prefiere un servidor a un partido de fútbol.

Como convertirte en ese sysadmin al que los demás sysadmincitos junior miran desde abajo. Ese veterano de mil guerras con el rostro desfigurado por cicatrices, ese Rambo del Bash que te hace indestructible ahora, pero que cuando te jubiles te habrá dejado el cerebro a la miseria. Ese que no necesita recurrir nunca a stackoverflow por que se sabe el comando de memoria.

 

Ese.

 

La que sigue es únicamente una lista orientativa. Es esperable que todo aquel que busque iniciarse en el milenario y mal apreciado arte del sysadmineo linuxero de mierda se las apañe solo y no venga a este post a preguntar pelotudeces. Es decir: si querés ver hasta donde te la bancás, que tan grande la tenés, que tanto más que tus pares sabés o que tan mejor sos tomá, seguí esta lista al pié de la letra. No avances al paso siguiente hasta no haber completado el inmediato anterior por que es una guía que se sigue de forma secuencial.
Cuando hayas terminado, el sysadmineo será tu Kung Fu y podrás salir airoso de prácticamente cualquier situación en la que te encuentres indistintamente el grado de dificultad. Si te la bancás, seguí leyendo.

 

Perdón que vuelva a usar esta imagen en otro post pero me gusta mucho.

Algo así vas a poder hacer cuando termines de seguir mi guía de 20 sencillos pasos.

Continúa leyendo

A este le puse por título TIP por que no es mas que eso: otro ayuda memoria para la posteridad, a saber:

 

  • Tenés dos archivos con texto: archivo1 y archivo2 como en el ejemplo de la captura de pantalla.
  • Necesitás identificar las líneas duplicadas o simplemente restarlas como en el ejemplo y mostrar únicamente las que no se repiten.

 

La única forma que conozco de lograr esto en Bash sin recurrir a complicados regex de la muerte forma mas rápida de lograr esto sin tener que pensar mucho es como tantas otras veces: GREP.  Alguien debería hacerle un pedestal al autor original de grep, sin duda.

Los switchs que vas a utilizar en grep son:

  1. -x  match únicamente si toda la línea coincide.
  2. -f  para en lugar de utilizar stdin o una palabra como argumento, usar un archivo, de a una línea por vez.
  3. -v  para reverse search, restar las líneas que coincidan en archivo2 de archivo1.

 

Utilizar grep en Bash para restar el contenido de un archivo de otro linea a linea en la consola de comando de Linux

Utilizar grep en Bash para restar el contenido de un archivo de otro linea a linea en la consola de comando de Linux

 

Continúa leyendo