CRON
Es un administrador regular de procesos en segundo plano (demonio) que ejecuta procesos o guiones a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el fichero crontab.
Cómo funciona?
Cron se ejecuta en el background, revisa cada minuto la tabla de tareas crontab /etc/crontab o en /var/spool/cron en búsqueda de tareas que se deban cumplir. Como usuario podemos agregar comandos o scripts con tareas a cron para automatizar algunos procesos. Esto es útil por ejemplo para automatizar la actualización de un sistema o un buen sistema de respaldos.
Una expresión CRON :es una cadena de texto compuesta por 6 o 7 campos separados por un espacio en blanco que se utiliza para representar instantes o periodos de tiempo.
Los campos tienen un orden concreto a la hora de indicar a que nos estamos refiriendo."Segundos" "Minutos" "Horas" "Día del mes" "Mes" "Día de la semana" "Año"
Campo
|
¿Es obligatorio?
|
Valores Permitidos
|
Caracteres especiales
|
Segundos
|
SI
|
0-59
|
, - * /
|
Minutos
|
SI
|
0-59
|
, - * /
|
Horas
|
SI
|
0-23
|
, - * /
|
Día del mes
|
SI
|
1-31
|
, - * ? / L W
|
Mes
|
SI
|
1-12 o JAN-DEC
|
, - * /
|
Día de la semana
|
SI
|
1-7 o SUN-SAT
|
, - * ? / L #
|
Año
|
NO
|
Vacio | 1970-2099
|
, - * /
|
* : Selecciona todos los valores de un campo (por ejemplo cada hora, cada minuto
? : Selecciona sin un valor específico cuando se puede utilizar (es similar a decir cualquiera)
- : Selecciona rango de valores (por ejemplo 4-6 que es de 4 a 6)
, : Selecciona valores específicos (por ejemplo MON,WED,FRI es decir los lunes, miércoles y viernes )
/ : Selecciona incrementos a partir del primer valor (por ejemplo 0/15 que es cada 15 minutos comenzando desde el minuto 0 -> 15, 30 ,45)} # : Selecciona la posición de un día del mes (por ejemplo 6#3 -> el tercer viernes del mes)
L (Día del mes) : Selecciona el último día del mes
L (Día de la semana) : Selecciona el último día de la semana (7 / sabado / SAT)
XL (Día de la semana) : Seleccona el último día de ese tipo del mes (por ejemplo 6L -> el último viernes del mes)
W : Selecciona el día de la semana (de lunes a viernes) más cercano al día (weekday)
LW : Selecciona el último weekday del mes
Algunos ejemplos de expresiones cron:
Expresión cron
|
Descripción
|
15 * * * * ?
|
Se ejecuta cada 15 segundos
|
15 0 0 * * ?
|
Se ejecuta a las 00:00:15
|
0 15 * * * ?
|
Se ejecuta cada 15 minutos
|
0 0 15 * * ?
|
Se ejecuta cada día a las 15:00:00
|
0 15 15 ? * *
|
Se ejecuta cada día a las 15:15:00
|
0 15 15 * * ?
|
Se ejecuta cada día a las 15:15:00
|
0 15 15 * * ? *
|
Se ejecuta cada día a las 15:15:00
|
0 15 15 * * ? 2010
|
Se ejecuta cada día a las 15:15:00 durante el 2010
|
0 0/15 15 * * ?
|
Se ejecuta cada 15 minutos a partir de las 15:00:00
|
0 10/15 15 * * ?
|
Se ejecuta cada 15 minutos a partir de las 15:10:00
|
0 0/15 15,17 * * ?
|
Se ejecuta cada 15 minutos a partir de las 15:00:00 hasta las 17:45:00
|
0 0-15 15 * * ?
|
Se ejecuta cada 15 minutos empezando a las 15:00:00 y terminando a las 15:15:00
|
Crontab
Crontab es un archivo de texto que guarda una lista de comandos a ejecutar en un tiempo especificado por el usuario. Crontab verificará la fecha y hora en que se debe ejecutar el script o el comando, los permisos de ejecución y lo realizará en el background. Cada usuario puede tener su propio archivo crontab, de hecho el /etc/crontab se asume que es el archivo crontab del usuario root, cuando los usuarios normales (e incluso root) desean generar su propio archivo de crontab, entonces utilizaremos el comando crontab.
Crontab es la manera mas sencilla de administrar tareas de cron en sistemas multiusuario, ya sea como simple usuario de sistema o usuario root.
Formato: crontab -<opciones>
EJEMPLO:
Realice un script que realice un respaldo de todos los archivos de configuración de mi sistema operativo (/etc/), el mismo se llamara etc.backup y se encontrará en el directorio home del usuario y además debe actualizarse todos los días lunes a las 7 am
http://blog.desdelinux.net/cron-crontab-explicados/
No hay comentarios:
Publicar un comentario