¿Por qué se está desaprobando cron?

21

Me acabo de enterar que cronha quedado en desuso en Mac OS X. ¿Por qué es esto, y eventualmente será eliminado por completo de futuras versiones?

eckza
fuente

Respuestas:

24

Con el lanzamiento de Mac OS 10.4, launchdfue elegido para reemplazar cronen Mac OS. Aquí hay una versión en caché de la página de lanzamiento de Apple Developer Connection en 2005. Explica por qué cronfue obsoleto, así como los beneficios launchddesde la perspectiva de Apple.

El resumen: launchdfue creado para sustituir no sólo cron, sino también init, xinetdpara un mejor rendimiento y un mejor control sobre la configuración y las mismas tareas reales.

El launchddaemon ofrece una interfaz única y estandarizada para todos y cada uno de los programas iniciados automáticamente por el sistema. Además, los archivos de configuración que determinan cuándo ejecutar un programa determinado también pueden especificar límites de recursos y variables de entorno, lo que simplifica la configuración y la seguridad de muchos programas. Se utiliza el mismo formato de archivo de configuración, ya sea que un trabajo se inicie una vez al inicio del sistema o al inicio de sesión del usuario, a pedido a través de la red o a intervalos.

michaelmichael
fuente
13

El artículo de wikipedia sobre launchd tiene un muy buen resumen, discusiones extendidas, así como algunos videos excelentes y enlaces externos para profundizar en esta decisión de Apple.

En pocas palabras, launchdreemplaza 7 tareas principales y una gran cantidad de scripts ( inetd , init y rc y estructuras de script de shell asociadas, crond , atd , watchdogd , SystemStarter ) con una herramienta de fuente abierta mucho más poderosa.

Por qué:

  • Más rápido
  • mas poderoso
  • unificado y centralizado
  • más seguro

Cuándo: 29 de abril de 2005 (cuando OS X Tiger fue lanzado a la venta)

No hay nada que nos impida a todos usar launchd para iniciar cron ahora en Tiger, Leopard o Snow Leopard.

Si el futuro Apple deja de enviarse /usr/sbin/cron, seguramente terminará como wget y otras herramientas maduras de código abierto que se compilan y deben agregarse como una herramienta de línea de comandos separada.

bmike
fuente
5

Ni siquiera sé si cron ha quedado en desuso. man crontabparece indicar que no tiene:

(Nota de Darwin: aunque cron (8) y crontab (5) son oficialmente compatibles con Darwin, su funcionalidad ha sido absorbida por launchd (8), que proporciona una forma más flexible de ejecutar comandos automáticamente. Consulte launchctl (1) para obtener más información. .)

Sin embargo, la Guía de programación de servicios y demonios dice que ha quedado en desuso:

Nota: Aunque todavía es compatible, cron no es una solución recomendada. Ha quedado en desuso a favor de launchd.

POSIX también requiere crontab , y se supone que OS X es compatible con SUS.

En cualquier caso, cron probablemente no dejará de funcionar pronto, y no sé si puede decirse que es más lento o menos seguro que el lanzamiento. El proceso cron casi no debe usar tiempo de CPU o memoria. Algunas ventajas de usar o aprender cron son que también está disponible en otras plataformas, y el formato de configuración es más simple.

Lri
fuente