Pues, bien, siempre me he preguntado como usar CRON esta aplicación nativa en Gnu/Linux, y que pocos saben que existe, y que generalmente no se usa mucho, los usos en los que se pueden aplicar son muchos, programar para que se realicen copias de seguridad cada 30 minutos por ejm. o ejecutar ciertos Scripts a cierta hora o día.
Bueno, empecemos:
Inicializamos CRON: service crond start
Hacemos que se ejecute en con el sistema:
chkconfig --level crond 35 ono simplemente
chkconfig crond on
Luego digitamos crontab -e y nos presentará una pantalla con estos campos:
# m h dom mon dow command
Campo | Descripción | |
Minuto | Controla el minuto de la hora en que el comando será ejecutado, este valor debe de estar entre 0 y 59. | |
Hora | Controla 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 Mes | Dí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. | |
Mes | Mes 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 semana | Dí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) | |
Usuario | Usuario que ejecuta el comando. | |
Comando | Comando, script o programa que se desea ejecutar. Este campo puede contener múltiples palabras y espacios. |
Un asterisco * como valor en los primeros cinco campos, indicará inicio-fin del campo, es decir
todo. Un * en el campo de minuto indicará todos los minutos.
Para entender bien esto de los primeros 5 campos y el asterisco usaré mejor varios ejemplos:
Ejemplo | Descripció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 * * 0 | A las 5 a.m. todos los domingos |
* 5 * * Sun | Cada 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 1 | A la 1:10 a.m. todos los lunes de diciembre |
00 12 16 * Wen | Al mediodía de los días 16 de cada mes y que sea Miércoles |
30 9 20 7 4 | A 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 * * * 6 | Al minuto 20 de cada hora de los sábados |
20 * * 1 6 | Al minuto 20 de cada hora de los sábados de enero |
También es posible especificar listas en los campos. Las listas pueden estar en la
forma de 1,2,3,4 o en la forma de 1-4 que sería lo mismo. Cron, de igual manera soporta
incrementos en las listas, que se indican de la siguiente manera:
Valor o lista/incremento
De nuevo, es más fácil entender las listas e incrementos con ejemplos:
Ejemplo | Descripción |
59 11 * 1-3 1,2,3,4,5 | A las 11:59 a.m. de lunes a viernes, de enero a marzo |
45 * 10-25 * 6-7 | Al minuto 45 de todas las horas de los días 10 al 25 de todos los meses y que el día sea sábado o domingo |
10,30,50 * * * 1,3,5 | En el minuto 10, 30 y 50 de todas las horas de los días lunes, miércoles y viernes |
*/15 10-14 * * * | Cada quince minutos de las 10:00a.m. a las 2:00p.m. |
* 12 1-10/2 2,8 * | Todos los minutos de las 12 del día, en los días 1,3,5,7 y 9 de febrero a agosto. (El incremento en el tercer campo es de 2 y comienza a partir del 1) |
0 */5 1-10,15,20-23 * 3 | Cada 5 horas de los días 1 al 10, el día 15 y del día 20 al 23 de cada mes y que el día sea miércoles |
3/3 2/4 2 2 2 | Cada 3 minutos empezando por el minuto 3 (3,6,9, etc.) de las horas 2,6,10, etc (cada 4 horas empezando en la hora 2) del día 2 de febrero y que sea martes |
Como se puede apreciar en el último ejemplo la tarea cron que estuviera asignada a ese renglón con esos datos, solo se ejecutaría si se cumple con los 5 campos (AND). Es decir, para que la tarea se ejecute tiene que ser un martes 2 de febrero a las 02:03. Siempre es un AND booleano que solo resulta verdadero si los 5 campos son ciertos en el minuto específico.
No hay comentarios.:
Publicar un comentario