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 usawho /var/log/wtmp
./var/log/lastlog
: Muestra la última vez que cada usuario inició sesión en el sistema. Se puede usarlastlog -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.