Utilizacion del CRON

Hola a todos nuevamente, podrán notar que del lado derecho de este blog aparecen 2 nuevas ligas, estas son de los que yo considero unos de los mejores PODCAST, aun que no son relacionados al tema, con el tiempo seguiré agregando ligas.

Bueno para continuar con el tema vamos a ver como es que se puede utilizar el cron para automatizar procesos, en este caso el envío del monitoreo que se indico de la entrada anterior.

Espero les sea de gran utilidad, aun que no es muy técnico.


El formato del archivo
El formato del archivo es muy básico, se utiliza de la siguiente manera:

[Min] [Hour] [Day of month] [Month] [Day of week] [Program to be run]
Para una mejor comprensión.
[Minutos] [Horas] [Días del mes] [Mes] [Día de la semana] [Programa que se ejecutara]

Ejemplo:

* * * * * [program to be run]

Cada asterisco representa uno de los para metros antes descritos entre los corchetes, a excepción del ultimo corchete ya que hace referencia al programa que se ejecutara.

Estos son algunos ejemplos para su mejor comprensión.

30 10 * * 1 /home/Prueba/test.sh >> /Rtest.txt
Ejecuta la orden test.sh todos los lunes a las 10:30 y guarda la salida en el fichero Rtest.txt

0,30 * * * 1 /home/Prueba/test.sh >> /Rtest.txt
Ejecuta la orden test.sh todos los lunes cada media hora y guarda la salida en el fichero Rtest.txt

30 21 * * 6 init 6
Este otro ejecuta un reinicio del sistema todos los Sábados a las 21:30

Bien una vez visto el formato que utiliza el cron, veamos el como ver y modificar esta configuración.

Ver configuración actual

# crontab -l

Modificar configuración

# export EDITOR=vi [se define a vi como el editor]
# crontab -e

Bien la línea que agregaremos será la siguiente:

30 06 * * 1-5 /var/opt/script/monitoreo.sh
Le damos :wq! Para guardar y salir.

La configuración del cron también se puede utilizar por usuario diferentes al su, por ejemplo si el archivo a ejecutar esta casado con los permisos a cierto usuario y grupo, los comandos se pueden ejecutar de la siguiente manera.

# crontab -u leafarpaur -l
# crontab -u leafarpaur -e


O se puede especificar el usuario en desde la línea agregada dejándolo de la siguiente manera:

30 06 * * 1-5 leafarpaur /var/opt/script/monitoreo.sh

Para evitar que otros usuarios modifiquen la configuración del cron hay que agregar el nombre el usuario al archivo cron.deny ubicado en /etc/ cron.d, esto puede ser por medio de vi o algún otro editor o simplemente de la siguiente forma:
# cd /etc/cron.d/
# echo leafarpaur >> cron.deny


OK por el momento seria todo, para la siguiente pondré la configuración para sendmail.

Script de Monitoreo facil en UNIX

Hola a todo aquel que este viendo esto, les traigo un sencillo script de monitoreo, espero que les sea de ayuda.

Comencemos creando el script, en este caso yo cree una carpeta llamada script en /var/opt, ya que es donde más espacio libre tengo, aun que pueden crearlo donde les convenga.

# cd /var/opt/script/
# vi monitoreo.sh

Agregaremos las siguientes líneas con los siguientes parámetros:

#!/bin/sh [siempre poner al inicio del script]

[agregamos con un echo un titulo y con el comando date la fecha y hora de la obtención de datos]

echo Monitoreo Diario > /var/opt/script/monitor.log [en esta línea se crea el archivo monitor.log con el parámetro ">" con el titulo]
date >> /var/opt/script/monitor.log [en esta línea se agrega la fecha al archivo por medio del parámetro ">>"]
echo >> /var/opt/script/monitor.log [se guarda línea en blanco]
echo >> /var/opt/script/monitor.log [se guarda línea en blanco]
echo Espacio en Particiones >> /var/opt/script/monitor.log [se guarda subtitulo]
df -h >> /var/opt/script/monitor.log [se guarda el resultante del comando df -h]
echo >> /var/opt/script/monitor.log [se guarda línea en blanco]
echo Memoria Libre >> /var/opt/script/monitor.log [se guarda subtitulo]
vmstat 1 2 tail -1 awk '{ print $5/1024 , "MB" }' >> /var/opt/script/monitor.log [se guarda el resultante del comando vmstat]
echo >> /var/opt/script/monitor.log [se guarda línea en blanco]
echo Primeros 3 Procesos >> /var/opt/script/monitor.log [se guarda subtitulo]
prstat -n 3 1 1 >> /var/opt/script/monitor.log [se guarda el resultante del comando prstat]
echo >> /var/opt/script/monitor.log [se guarda línea en blanco]
mailx -r MONITOREO -s "Reporte Diario" usuario@dominio.com < /var/opt/script/monitor.log [se envía mail con el contenido del archivo monitor.log por medio del parámetro "<" para el comando mailx]
> /var/opt/script/monitor.log [se deja en blanco el archivo]

Ya para terminar con el este, hay que cambiarle los permisos al archivo creado de la siguiente forma:

# chmod 775 /var/opt/script/monitoreo.sh

Para su ejecución solo hay que poner lo siguiente estando en el directorio /var/opt/script:
# ./monitoreo.sh

O

Simplemente poner /var/opt/script/monitoreo.sh y dar enter.


Este es el script completo:
El correo resultante es:
Lamentable mente soy muy nuevo en esto de los blog's, en la próxima entrada pondré la configuración del cron para automatizar el envío de este monitoreo, además de la configuración para el mailx.

SALUDOS





Cómo verificar los puertos abiertos en Linux

Para solucionar problemas del servidor y evitar problemas de seguridad, uno necesita encontrar puertos TCP y UDP abiertos. En este tut...

Infolinks