El otro día en clase me ocurrió algo que hizo que me interesara por los LOGS (un poco solo eh!). Suelo usar mucho el SSH para enviarme datos y ayudar a amigos y todo y que tengo el puerto cambiado por si las moscas, algún alumno avispado (y un poco ingenuo) creyó que sería divertido reiniciarme el PC mientras trabajaba. Así que después de un cabreo de 10 minutos me acordé de los LOGS y encontré quién fue ese alumno «avispado».

Log-files-in-realtime-in-linux

El sistema de LOGS de GNU/Linux (log en inglés significa registro), es un mecanismo estándar que se encarga de recoger los mensajes generados por programas, aplicaciones y demonios y los envía a una serie de archivos los cuales llamamos LOGS. En cada mensaje consta de la fuente (el programa o aplicación que lo generó) la prioridad, fecha y la hora.

Los registros más comunes son los siguientes:

/var/log/kern.log: Guarda un registro de los mensajes del Kernel.
/var/log/syslog: Registro de mensajes del sistema y de sus programas.
/var/log/dmesg: Información de arranque del sistema y conexiones de hardware principalmente.
/var/log/debug: Información de depuración de los programas.
/var/log/Xorg.0.log: Información sobre el entorno gráfico.
/var/log/boot.log: Información del arranque.
/var/log/fontconfig.log: Configuración de las fuentes del sistema.
/var/log/mail.log: Logs del servidor de correo.
/var/log/auth.log: Conexiones al sistema incluidos los intentos fallidos y los accesos como root.
****/var/log/crond: Tareas programadas (cron)
****/var/log/daemon.log: Alertas especificas de algunos demonios
****/var/log/errors.log: Nos muestra errores.
****/var/log/httpd: Si tenemos un servidor de Apache aquí se registran los eventos.
****/var/log/messages.log: Alertas generales del sistema.
****/var/log/mysqld.log: Registro de eventos de MySQL.
****/var/log/secure: Registro de seguridad.
****/var/log/vsftpd.log: El log del servidor FTP (vsfp). Proftpd.log para el servidor FTP proftpd.

Si intentáis visualizar un archivo de estos os daréis cuenta de que son archivos muy largos y quizás a veces encontrar algo puede ser toda una odisea (y si no preguntadle algún administrador jaja) así que nos podemos ayudar de los comandos grep y tail.

Por ejemplo, si queremos saber cuando un usuario se a conectado al servidor, podríamos usar este comando:

$ sudo cat /var/log/secure | grep NombreUsuario

Pero si por ejemplo queremos ver las 10 últimas lineas podemos hacer:

# tail /var/log/secure

Se puede usar -n para que nuestre el numero de lineas indicadas, por ejemplo:

# tail -n 20 /var/log/secure

O si prefieres abrir el fichero y que se vaya actualizando:

# tail -f /var/log/secure

Los archivos de LOG crecen y con el tiempo se pueden volver muy extensos, pero no tenemos que preocuparnos porque en /etc/cron.daily (tareas que se ejecutan cada día) está el script /etc/cron.daily/logrotate, (cuyo archivo de configuración es /etc/logrotate.conf), que se encarga de comprimirlos y aplicar una rotación de archivos, añadiéndoles la extensión .**1.**gz, .2.gz, etc., volviendo a crear uno vacío (cuanto mayor sea el número más antiguo será el log).

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación