Español

Herramientas de desarrollo · Generador de Crontab

@reboot, @daily, @hourly: de donde provienen los horarios de apodos de cron

· Antecedentes

cron alias programación

Siete alias de programación con nombre que se expanden en cinco campos junto a un símbolo de reinicio bloqueado
Ilustración de vector original de ToolAcre

Las taquigrafías @ son legibles, populares y no universales. Esta publicación explica a qué se expande cada uno, de dónde provienen, el caso especial de @reboot y cuándo escribir los cinco campos en su lugar.

@reboot se rechaza porque la herramienta muestra una vista previa de las horas del calendario, no de los eventos de inicio

`@reboot` se parece a los otros formularios con el signo de arroba, pero no tiene una expansión de calendario de cinco campos en ToolAcre. El analizador lo rechaza por un motivo explícito: no hay ningún programa para obtener una vista previa. Un evento de inicio depende del ciclo de vida de una máquina o servicio que esta ruta del navegador no observa ni controla.

Esta distinción mantiene honesta la lista de próxima ejecución. Los alias del calendario pueden convertirse en campos y fechas concretos. Un alias de reinicio no puede producir cinco candidatos futuros a reloj de pared a partir del instante actual sin inventar reinicios futuros. Por lo tanto, el rechazo es más preciso que una vista previa vacía o inventada.

Los apodos y sus expansiones: @hourly, @daily y @midnight, @weekly, @monthly, @yearly y @annually como equivalentes de cinco campos.

La tabla admitida es exacta. `@hourly` se convierte en `0 * * * *`; `@daily` y `@midnight` se convierten en `0 0 * * *`; `@weekly` se convierte en `0 0 * * 0`; `@monthly` se convierte en `0 0 1 * *`; y `@yearly` más `@annually` se convierten en `0 0 1 1 *`.

La interfaz de usuario resuelve un alias aceptado antes de copiar valores en los cinco cuadros individuales. El análisis devuelve la expresión normalizada de cinco campos, las descripciones utilizan esa forma analizada y las pruebas iteran a través de cada alias. Por lo tanto, la expansión es más inspeccionable que una taquigrafía oculta.

No se modela ningún comportamiento de inicio de demonio o de inicio del sistema

Ningún código en esta ruta recibe eventos de inicio del sistema operativo. No hay ningún proceso de demonio, identificador de arranque ni gráfico de dependencia del servicio. Las declaraciones del libro sobre cuándo se ejecuta `@reboot` no se pueden establecer desde un analizador que rechaza deliberadamente el token.

Si un objetivo admite un apodo de inicio, consulte la definición del ciclo de vida de ese objetivo y pruébelo de forma segura. No utilice el error de ToolAcre como prueba de que la función no es universalmente válida y no utilice el soporte de otra implementación como prueba de que esta ruta debería obtener una vista previa.

Los orígenes de alias y la difusión de implementación cruzada requieren fuentes históricas externas

El libro de trabajo atribuyó alias a una implementación histórica y describió su difusión. El repositorio no contiene ninguna fuente histórica primaria para ese reclamo. Lo que demuestra es un comportamiento en tiempo presente: siete claves en `ALIASES`, búsqueda que no distingue entre mayúsculas y minúsculas y rechazo de taquigrafías desconocidas.

Esto es suficiente para la documentación práctica. Los lectores pueden ver exactamente qué formularios funcionan aquí y a qué se expanden. La procedencia se puede agregar más tarde con una fuente de archivo; no debe inferirse de un nombre constante o de la popularidad de una sintaxis similar en otros lugares.

Ejemplo resuelto: reemplazar @daily con 0 0 * * * — y por qué la forma explícita también le permite mover la hora fuera de medianoche

Reemplazar `@daily` con `0 0 * * *` expone los campos de tiempo. Cambiar la hora de 0 a 4 produce `0 4 * * *`, que la herramienta describe como 04:00 todos los días. La forma explícita es mejor cuando la medianoche no es la hora prevista para el muro.

Los cuadros de campo facilitan ese ajuste y la zona horaria seleccionada controla los instantes de vista previa. La expresión copiada no contiene ningún alias después de la expansión en el resultado del analizador, pero el texto original puede permanecer en el cuadro de expresión completa hasta que se cambie un campo. Revise el valor copiado real antes de la implementación.

Los pedidos y las dependencias en el momento del arranque están fuera del generador

El trabajo de inicio a menudo depende de sistemas de archivos, redes, credenciales u otros servicios. ToolAcre no tiene un modelo de dependencia y no puede evaluar la preparación, los retrasos o el comportamiento de reinicio. Incluso si aceptara `@reboot`, la validación de expresiones no resolvería esas cuestiones operativas.

Trate la ejecución en el momento del arranque como un diseño de ciclo de vida en lugar de un atajo de calendario. Documentar los requisitos previos y el manejo de fallas en el entorno de destino. El generador sigue siendo apropiado para programas recurrentes de cinco campos cuyos próximos tiempos de reloj de pared realmente se pueden calcular.

Las alternativas del administrador de servicios no se evalúan aquí

El libro de trabajo apuntaba a unidades de servicio modernas, pero este repositorio no las construye ni las compara. Entre las fuentes no se encuentra ninguna sintaxis unitaria, directiva de dependencia o prueba de inicio. Por lo tanto, el artículo evita recomendar un reemplazo basado únicamente en un apodo no compatible.

Elija un mecanismo de ciclo de vida de la documentación de destino y los requisitos operativos. La contribución de ToolAcre es el límite negativo: `@reboot` está fuera de su dominio de vista previa, mientras que los alias de calendario ordinarios tienen equivalentes transparentes de cinco campos.

Conclusión: los apodos son útiles para las expresiones fijas, y el generador le permite crear la versión explícita y volver a leerla.

Los alias son etiquetas concisas para expresiones fijas en esta implementación. Amplíelos siempre que la revisión o la personalización se beneficien al ver las posiciones. `@daily` no es mágico; es medianoche en todos los campos del calendario sin restricciones en la zona de vista previa seleccionada.

Utilice la lista admitida, inspeccione la expansión y aléjese de la medianoche cuando sea apropiado. Para los eventos de inicio, deténgase y seleccione un mecanismo específico de destino en lugar de forzar un desencadenador de ciclo de vida que no se pueda obtener en un generador de calendario. Ese límite es deliberado y puesto a prueba.