jueves, 4 de octubre de 2012

Cron en Linux

Qué es el cron: Es un programa de Linux que permite la ejecución de tareas automatizadas a una hora o fecha especificada. Es el equivalente a los at de windows. Este programilla viene integrado en casi todas las distribuciones de Linux.

Iniciar Servicio del Cron: El cron es un demonio (servicio), que autoarranca al iniciar el sistema operativo, sin embarga a veces se requiere de subir o bajar el servicio a dispocición para ello ocuparemos los siguientes comandos:

pregunta si esta activo:


#> /etc/rc.d/init.d/crond status
#> /etc/init.d/crond status   
crond (pid 507) is running...


#> service crond status
crond (pid 507) is running...


# ps -ef   |  grep crond


#> /etc/rc.d/init.d/crond start
Starting crond:            [ OK ]

o bien quieres bajar el sevicio:


#> /etc/rc.d/init.d/crond stop
Stopping crond:            [ OK ]


Usando Cron: hay mas de una forma de utilizar este servicio, sin embargo, explicare solo una que es de modificar directamente el archivo.


crontab -e

con el comando anterior editamos directamente el archivo.
una vez abierto si este no esta vacío deberíamos ver un cosa así:


0 22 * * * root /usr/respaldodiario.sh                           
* *  * * * root/usr/ejempl2.sh                                   
0 23 * * 5 root /usr/respaldosemanal.sh                          
0 8,20 * * * sergio mail -s "sistema funcionando" sgd@ejemplo.com


en este caso le ingresaremos un archivo .sh el cual ejecuta una serie de procesos y que se ejecutara cada 1 minuto de cada hora.


0 22 * * * root /usr/respaldodiario.sh                           
* * * * * root/usr/ejempl2.sh                                   
0 23 * * 5 root/usr/respaldosemanal.sh                          
0 8,20 * * * sergio mail -s "sistema funcionando" sgd@ejemplo.com
* * * * *  root/usr/archivo.sh


para guardar podemos usar los comandos del vim :x


Resumiendo lo anterior y considerando otras opciones de crontab:
$> crontab archivo.cron 
$> crontab -e              
$> crontab -l           
$> crontab -r           


Tabla de ejemplo:

CampoDescripción
MinutoControla el minuto de la hora en que el comando será ejecutado, este valor debe de estar entre 0 y 59.
HoraControla la hora en que el comando será ejecutado, se especifica en un formato de 24 horas, los valores deben estar entre 0 y 23, 0 es medianoche.
Día del MesDía del mes en que se quiere ejecutar el comando. Por ejemplo se indicaría 20, para ejecutar el comando el día 20 del mes.
MesMes en que el comando se ejecutará, puede ser indicado numéricamente (1-12), o por el nombre del mes en inglés, solo las tres primeras letras.
Día de la semanaDía en la semana en que se ejecutará el comando, puede ser numérico (0-7) o por el nombre del día en inglés, solo las tres primeras letras. (0 y 7 = domingo)
UsuarioUsuario que ejecuta el comando.
ComandoComando, script o programa que se desea ejecutar. Este campo puede contener múltiples palabras y espacios.


EjemploDescripción
01 * * * *Se ejecuta al minuto 1 de cada hora de todos los días
15 8 * * *A las 8:15 a.m. de cada día
15 20 * * *A las 8:15 p.m. de cada día
00 5 * * 0A las 5 a.m. todos los domingos
* 5 * * SunCada minuto de 5:00a.m. a 5:59a.m. todos los domingos
45 19 1 * *A las 7:45 p.m. del primero de cada mes
01 * 20 7 *Al minuto 1 de cada hora del 20 de julio
10 1 * 12 1A la 1:10 a.m. todos los lunes de diciembre
00 12 16 * WenAl mediodía de los días 16 de cada mes y que sea Miércoles
30 9 20 7 4A las 9:30 a.m. del dia 20 de julio y que sea jueves
30 9 20 7 *A las 9:30 a.m. del dia 20 de julio sin importar el día de la semana
20 * * * 6Al minuto 20 de cada hora de los sábados
20 * * 1 6Al minuto 20 de cada hora de los sábados de enero


No hay comentarios:

Publicar un comentario