Administración de Tareas y Logs en Sistemas Linux

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 7,81 KB

Programar Tareas Cron

Introducción a Cron

Cron es un administrador de tareas en segundo plano (demonio) que ejecuta programas a intervalos regulares (cada minuto, hora, día). El acceso a cron se controla mediante los archivos cron.allow (usuarios habilitados) y cron.deny (usuarios no habilitados). Cron se ejecuta incluso si la máquina está encendida.

Programar Tareas con Crontab

Para programar tareas, se utiliza el comando crontab -e. Este comando abre un editor (que se puede elegir) para editar el archivo crontab del usuario. Para ver el contenido del archivo crontab, se usa crontab -l, y para eliminarlo, crontab -r.

Sintaxis de Crontab

La sintaxis de crontab es la siguiente:

minuto(0-59) hora(0-23) diadelmes(1-31) mes(1-12) díadelasemana(0-6(0=lunes, 1=martes...)) comando a ejecutar
Ejemplo de Crontab
40 10 * * * echo "mi primer cron" >> /home/alumno.cron1.txt

Este ejemplo ejecuta el comando echo "mi primer cron" >> /home/alumno.cron1.txt todos los días a las 10:40. El comando redirige la salida a un archivo.

Funcionamiento de Cron

Los archivos de configuración de cron se encuentran en /etc (cron.d, cron.hourly, etc.). Los archivos crontab de los usuarios se encuentran en /var/spool/cron/crontabs. Para ver estos archivos, se necesitan permisos de root. Para ejecutar las tareas programadas, se debe iniciar el servicio cron con /etc/init.d/cron start. Para detenerlo, se usa /etc/init.d/cron stop.

Programar Tareas con At

Introducción a At

El comando at permite programar tareas para que se ejecuten una sola vez en un momento específico.

Sintaxis de At
at hora [dia]

Ejemplos de formatos de hora y fecha:

  • HH:MM
  • midnight (00:00)
  • noon (12:00)
  • teatime (16:00)
  • HH:MM MM/DD/AA
  • Now+nº (minutes, hours, days, weeks)
  • HH:MM today/tomorrow

Atq muestra las tareas programadas.

Opciones del Comando At
  • -v: Muestra el tiempo en que se ejecutará la tarea.
  • -m: Envía un mensaje al usuario cuando la tarea finaliza.
  • -f: Permite introducir un conjunto de instrucciones desde un archivo.
  • -d nºtrabajo: Elimina la tarea especificada por su número.
  • -l: Muestra las tareas pendientes.

Administración de Logs

Introducción a los Logs

Los logs son archivos que contienen información sobre el sistema, los servicios y las aplicaciones. Esta información es importante para detectar problemas, analizar el rendimiento y mejorar la seguridad. Los logs se pueden visualizar con comandos como less o con editores de texto.

Archivos de Log

La mayoría de los archivos de log se encuentran en /var/log. Algunas aplicaciones (como httpd y samba) tienen sus propios directorios de log dentro de /var/log.

Ejemplos de Archivos de Log
  • /var/log/messages: Mensajes del sistema.
  • /var/log/secure: Mensajes de seguridad.
  • /var/log/cron: Tareas cron.
  • /var/log/httpd: Mensajes del servicio Apache.
  • /var/log/samba: Mensajes del servicio Samba.
  • /var/log/maillog: Mensajes del servicio de correo.
  • /var/log/spooler: Mensajes del servicio de impresión.

Manejo de Logs

Los logs son archivos de texto que se van añadiendo al final. Para ver las primeras líneas, se usa head -n. Para ver las últimas líneas, se usa tail -n. Para filtrar el contenido, se usa grep. Para dejar el log abierto y ver las nuevas entradas en tiempo real, se usa tail -f.

Comandos de Administración de Memoria

  • grep SwapTotal /proc/meminfo: Muestra la memoria swap total.
  • grep MemTotal /proc/meminfo: Muestra la memoria RAM total.
  • free: Muestra la memoria RAM y swap utilizada y libre.
  • sudo gnome-system-monitor: Muestra información detallada sobre la memoria RAM y swap.

Análisis de Logs

/var/log/messages

Es el fichero principal para detectar problemas en el sistema. Contiene información desde el arranque hasta el apagado. El núcleo escribe en este archivo. Para ver los mensajes del núcleo, se usa grep kernel /var/log/messages. El formato de los mensajes es: fecha, hora, máquina, proceso que genera el mensaje, mensaje. Para ver los mensajes en tiempo real, se usa tail -f /var/log/messages.

/var/log/auth.log y /var/log/user.log

Almacenan información sobre los inicios de sesión en el sistema, incluyendo intentos fallidos de contraseña. /var/log/user.log contiene información específica sobre la actividad de los usuarios.

Archivos Especiales de Log
  • /var/log/wtmp y /var/log/wtmpx: Registran quiénes estuvieron en el sistema y cuándo, incluyendo las direcciones IP de las conexiones remotas. Para ver su contenido, se usa who /var/log/wtmp.
  • /var/log/lastlog: Muestra la última vez que cada usuario inició sesión en el sistema. Se puede usar lastlog -u usuario para ver la información de un usuario específico.
  • /var/log/utmp y /var/log/utmpx: Contienen información sobre los usuarios que están conectados en un momento dado.

Syslog

Introducción a Syslog

Syslog es un servicio que gestiona los mensajes del sistema. Utiliza el archivo de configuración /etc/syslog.conf para determinar qué mensajes se registran y en qué archivos. Los mensajes del núcleo son recogidos por klogd y se los pasa a syslogd para que los escriba en el archivo de log correspondiente. Syslog se inicia al principio del arranque del sistema. Si el sistema está en nivel de ejecución 1, syslog no estará en funcionamiento. Se puede ver el estado de syslog con /etc/rc.d/init.d/syslog status.

Syslog.conf

El archivo /etc/syslog.conf se encuentra en /etc. Se divide en dos partes: a la izquierda se especifica dónde se registrará el mensaje y a la derecha se especifica qué se registrará. Si después de un servicio aparece un punto, se indica la prioridad del mismo.

Prioridades de Syslog
  • debug
  • warning
  • info
  • crit
  • notice
  • alert
  • emerg

El asterisco (*) significa que se registrarán todos los mensajes de esa prioridad.

Logrotate

Introducción a Logrotate

Logrotate es una herramienta que se utiliza para evitar que los archivos de log crezcan indefinidamente. Logrotate hace que los archivos de log sean circulares, es decir, que la información se mantenga durante un cierto tiempo y luego se sobrescriba. Logrotate utiliza el archivo de configuración /etc/logrotate.conf y los archivos de configuración del directorio /etc/logrotate.d. Para ver el contenido de estos archivos, se puede usar less /etc/logrotate.conf o less /etc/logrotate.d/nombre_del_archivo.

Ejemplo de Configuración de Logrotate para Samba

less /etc/logrotate.conf|samba

Este comando muestra la configuración de logrotate para el servicio Samba.

Entradas relacionadas:

Etiquetas:
linux tareas cron at logs