Herramientas de desarrollo · Generador de Crontab
Cómo funcionan los cinco campos de crontab: minuto, hora, día, mes, día laborable
· Cómo funciona
cron programación flujo de trabajo del desarrollador
Cada programación cron consta de cinco campos posicionales y el orden nunca cambia. Esta publicación explica el rango de cada campo, el caso especial del domingo y cómo una línea se convierte en un conjunto de minutos coincidentes.
Una copia de seguridad que debe ejecutarse a las 02:30 todas las noches y cinco estrellas que no estás seguro de cómo llenar
Necesitas una copia de seguridad a las 02:30 todas las noches, pero sigues confundiendo a cuál de las cinco estrellas le corresponde la hora. Cron es posicional: un número en la columna incorrecta produce un cronograma diferente aunque parezca válido superficialmente. Comience con la hora a la que se debe ejecutar el trabajo, la zona horaria de la máquina y quién es el propietario del crontab; solo entonces llene los campos. ToolAcre puede analizar y describir una expresión, pero no instala el trabajo ni ejecuta el comando de copia de seguridad.
Campos posicionales, orden fijo: minuto, hora, día del mes, mes, día de la semana y luego el comando
Una línea crontab de usuario tiene minuto, hora, día del mes, mes, día de la semana y luego un comando. En 30 2 * * * backup.sh, 30 es el minuto y 2 es la hora: 02:30 cada día bajo la zona horaria de ese entorno cron. El comando no es un campo de sexta vez. /etc/crontab en todo el sistema puede incluir un campo de usuario antes del comando, razón por la cual copiar ciegamente una entrada del sistema en su crontab personal puede ejecutar un comando no deseado.
Rangos de cada campo: 0–59, 0–23, 1–31, 1–12 y 0–7, donde 0 y 7 significan domingo en la mayoría de los crons.
Los minutos aceptan 0 a 59, horas 0 a 23, días del mes 1 a 31, meses 1 a 12 y días laborables 0 a 7 en los modelos ToolAcre de convenciones estilo Vixie; 0 y 7 significan domingo. Un asterisco significa todos los valores en ese campo. Los rangos y las listas separadas por comas pueden restringir valores, pero el rango numérico de un campo aún se aplica. 25 en la posición horaria no es un horario nocturno: no es válido y debe informarse en lugar de pasarse al día siguiente.
Cómo funciona la coincidencia: cron se activa cada minuto y ejecuta una línea si los campos de hora coinciden (con una excepción para los campos de dos días)
Cron comprueba los campos coincidentes cada minuto. Minuto, hora y mes deben coincidir. Los dos campos de día tienen una regla especial en Vixie cron: cuando tanto el día del mes como el día de la semana están restringidos, una coincidencia en cualquiera de ellos puede activar el trabajo, no necesariamente en ambos. Así, 0 0 13 * 5 significa el día trece de un mes o cada viernes, no sólo el viernes trece. Con comodines en las posiciones diurnas, el ejemplo nocturno se comporta según lo previsto. El resultado explicativo de la herramienta hace que esa elección sea visible antes de la instalación.
Ejemplo resuelto: 30 2 * * * backup.sh — leerlo en voz alta y luego escribir 'entre semana a las 08:15' desde cero
Lea 30 2 * * * backup.sh en voz alta como "ejecute backup.sh a las 02:30 todos los días". Para los días laborables a las 08:15, ponga el minuto 15, la hora 8, día/mes sin restricciones y los días laborables 1–5: 15 8 * * 1-5. Pegue solo los cinco campos del cronograma en el generador de Crontab y verifique su descripción y lista de próxima ejecución; Instale el comando usando su propio editor crontab luego. Para una copia de seguridad que se ejecuta cerca de un cambio de horario de verano, verifique las marcas de tiempo de la próxima ejecución en la zona real en lugar de asumir que existen todas las 02:30 locales.
Nombres para meses y días laborables, incluidos los rangos de nombres admitidos
Muchos dialectos cron aceptan nombres de tres letras como JAN o MON en lugar de números. Los nombres pueden aclarar una programación mantenida por humanos, pero usar 0/7 para el domingo sigue siendo común y otras implementaciones de cron pueden tener diferentes extensiones. ToolAcre reconoce nombres y rangos comunes de meses y días de la semana, como ENERO-MAR y LUNES-VIE; su analizador acepta 15 8 * ENERO-MAR LUNES-VIERNES. Otra implementación de cron o programador de nube puede usar una cantidad diferente de campos o extensiones, así que consulte la gramática de ese entorno antes de instalar la línea.
Lo que esta descripción general no cubre completamente: listas, pasos y el entorno de ejecución
Esta introducción explica la regla OR de campo diurno de Vixie, pero no explora sus complicadas combinaciones con listas y pasos, el shell/entorno que ejecuta el comando o el comportamiento de horario de verano; cada uno puede cambiar si se ejecuta una tarea real. El validador puede describir una programación, pero no puede garantizar que backup.sh exista, tenga permiso o haya escrito copias de seguridad recuperables. Pruebe una copia de seguridad y una restauración antes de confiar en una entrada cron de producción.
Conclusión: cinco campos, una gramática, y el generador Crontab crea la expresión y se la explica
Cinco posiciones forman una gramática. El generador de Crontab lee su cronograma propuesto, nombra cada campo y muestra las próximas ejecuciones en una zona elegida sin instalar nada en su sistema. Ingrese los ejemplos nocturnos y entre semana, compare lo que dice la herramienta con lo que pretendía y luego guarde el comando y la decisión de zona horaria con la documentación operativa del trabajo.