Comandos de linux para búsqueda de logs que todos los desarrolladores deberían conocer


Aunque tu trabajo sea como desarrollador de software y no como administrador linux, debes conocer al menos algo de linux ya que en algún momento tendrás que buscar en logs, conectarte por ssh a un servidor, iniciar o detener un proceso, etc. Por esto en este post te mencionaremos algunos de los comandos más comunes utilizados por un desarrollador.

man

Aunque este comando no es para la búsqueda de logs es el comando más importante de linux, ya que con este podrás ver la documentación de cualquier otro comando, por ejemplo si quieres saber lo que hace el comando ls, solo debes ejecutar:

man ls

Muestra la documentación del comando ls

ssh

Antes de empezar a buscar logs es necesario conectarse a un servidor, para hacerlo vía ssh debemos ejecutar lo siguiente:

ssh  user@host

Permite conectarte a un host especificando un usuario, una vez que lo ejecutes te pedirá un password

ssh -i sshKey user@host

Permite conectarte a un host utilizando una llave ssh, este comando solo requiere el usuario pero no es necesario escribir un password

scp

Si quieres subir algún archivo o descargar algún log, una forma simple de hacerlo es haciendo uso del comando scp, veamos algunos ejemplos:

 scp user@host:absolutePath destinationPath

Descarga lo que se encuentra en el servidor a la ruta local especificada

 scp originPath user@host:destinationPath

Sube al servidor lo que se tiene en el originPath al destinationPath del servidor

tail

Si lo que deseas es ver es la última parte de un archivo, digamos que quieres ver en tiempo real lo que aparece en el log de tu aplicación tail es el comando, veamos un ejemplo:

 tail -f catalina.out

Despliega en la consola las últimas entradas en el archivo catalina.out

 tail -fn 1000 catalina.out

Despliega en la consola las últimas 1000 entradas en el archivo catalina.out

cat

Muestra el contenido de un archivo, veamos un ejemplo:

cat config.properties

Muestra el contenido del archivo config.properties en la consola

grep

Procesa línea por línea de un archivo e imprime lo que cumpla con una expresión regular, es muy utilizado para hacer búsquedas en logs.

grep ERROR catalina.out

Busca el text ERROR en el archivo catalina.out

grep --color "ERROR" catalina.out

Busca el texto ERROR en el archivo catalina.out y lo marca con un color

less

Less es un visor de archivos, es muy similar al comando more pero con mucho más funcionalidad,  veamos un ejemplo:

less catalina.out

Con esto el archivo catalina.out será mostrado en la pantalla, pero nos permitirá ejecutar comandos para distintas operaciones, para ver la lista de comandos solo se debe oprimir la tecla h. Veamos algunas de las opciones disponibles:

Para moverse en el visor:

  • h : Muestra la ayuda en la consola
  • q :q Q :Q ZZ : Salir
  • e ^E j ^N CR : Siguiente línea
  • y ^Y k ^K ^P: Ir atrás una línea
  • f ^F ^V SPACE: Ir adelante una ventana
  • b ^B ESC-v : Ir atrás una ventana
  • f : Adelante para siempre, es similar al comando tail -f

Búsqueda (Muy útil para búsqueda en logs)

  • /pattern: Busca la siguiente línea que haga match con el patron
  • ?patten: Busca hacia atrás la línea que haga match con el patrón
  • n: Repite la búsqueda anterior
  • N :Repite la búsqueda anterior en sentido contrario
  • &pattern: Muestra solo las líneas que hagan match

wc

No, no es lo que están pensando, imprime todas las líneas que tiene un archivo y el número de bytes, veamos un ejemplo:

wc records.log

find

Busca archivos en una jerarquía de directorios, imagina que quieres buscar el log de tu aplicación pero no sabes en que directorio está, veamos un ejemplo:

sudo find / -name worker.log

df

Normalmente vemos logs todo el tiempo pero muchas veces estos logs no son configurados de forma correcta así que después de un periodo de tiempo llenan el espacio en disco y todo se vuelve un problema, para ver el espacio disponible en linux ejecutaremos el comando:

 df -h

awk

Awk puede ser utilizado para realizar multiples operaciones en archivos en el siguiente ejemplo solo mostraremos como imprimir en pantalla la línea si cumple con una expresión regular:

 

awk '/ERROR/ {print}' catalina.out

Otros comandos útiles

  • ls
  • mv
  • cp
  • rm
  • more
  • head
  • chmod
  • etc

Comparte con nosotros que comandos utilizas tu para hacer la búsqueda de tus logs.

Autor: Alejandro Agapito Bautista

Twitter: @raidentrance

Contacto:raidentrance@gmail.com

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s