webcron es el término para un programador de trabajos basado en el tiempo alojado en un servidor web . El nombre deriva de la frase servidor web y el demonio cron de Unix . Una solución webcron [ palabra de moda ] permite a los usuarios programar trabajos para que se ejecuten dentro del entorno del servidor web en un servidor web que no ofrece una cuenta shell u otros medios para programar trabajos. [1] [se necesita fuente no primaria ]
Descripción general
Muchos servidores web ofrecen cuentas de shell o algún tipo de programador de trabajos integrado, como cron, que facilita a los usuarios la programación de trabajos. Dichos hosts ejecutan trabajos como aplicaciones de línea de comandos que, opcionalmente, pueden comunicarse con el servidor web. Sin embargo, una solución webcron se ejecuta completamente dentro del ámbito del entorno del servidor web de un servidor web. Esto permite que una solución webcron opere en hosts que no ofrecen un programador de trabajos como cron o una cuenta de shell. Una solución webcron también funcionará igualmente bien en hosts que sí ofrecen a los usuarios tales capacidades, pero está diseñada como una sustitución o reemplazo. [2] [se necesita fuente no primaria ]
Una solución webcron se compone de dos piezas. La primera pieza es un script que ejecutará las tareas que residen en algún lugar accesible a través de una URL . La segunda parte es utilizar un proveedor de programación que se ponga en contacto con la URL del script a intervalos regulares.
Antes de configurar una programación con un proveedor de programación, un usuario debe configurar una secuencia de comandos que se ejecuta en el servidor web. La mayoría [ ¿cuál? ] los servidores web tienen restricciones sobre el tiempo que se puede ejecutar una sola instancia de un script. Muchos [ cuales? ] los servidores web también tienen limitaciones en el uso de recursos de CPU y RAM . Los usuarios de soluciones webcron en proveedores de alojamiento compartido deben tener cuidado de no exceder repetidamente las limitaciones de su alojamiento web para no ser expulsados. Un script que se ejecuta durante mucho tiempo debe tener en cuenta que puede ser terminado en cualquier momento por un proceso del servidor web. Los usuarios pueden implementar una máquina de estado , que permite que el script opere a través de múltiples invocaciones y se ejecute dentro de las limitaciones impuestas por un servidor web. [1] [se necesita fuente no primaria ]
Proveedores de programación
Tercero
Hay muchos proveedores de programación webcron de terceros en la web. [3] [4] Estos servicios aceptan una URL y un programa de frecuencia para recuperar, o hacer ping, la URL especificada. La mayoría [ ¿cuál? ] los proveedores tienen restricciones integradas en su sistema para evitar la sobrecarga de sus servidores y para alentar a los usuarios a registrarse para obtener cuentas premium. [5]
Los usuarios que configuran cuentas premium en proveedores de programación de webcron de terceros generalmente [ término de pavo real ] obtienen beneficios adicionales como notificaciones por SMS y correo electrónico, informes y registro de tiempo de actividad, límites de tiempo de espera aumentados, los horarios no caducan, y pueden usar el método HTTP POST , Compatibilidad con cookies HTTP o menos restricciones en la frecuencia de programación. [6] [5] [ fuente no primaria necesaria ] [ investigación original? ]
Algunos proveedores de servicios webcron aceptan la expresión CRON en la interfaz web para programar el tiempo de ejecución del trabajo. [7] [8]
Basado en visitantes
Una solución webcron puede estar contenida por completo en un servidor web al permitir que los visitantes activen un script del programador webcron en el servidor. Por ejemplo, esto se puede lograr utilizando un elemento HTML 'img' en el encabezado o pie de página del sitio web, una llamada Ajax en un script o un iFrame . Cuando un visitante ve el sitio web, se carga la imagen, lo que activa el programador de webcron. El programador webcron ejecuta cualquier tarea que deba ejecutarse y luego genera una imagen para que el navegador web del visitante no muestre una imagen rota en la página. [2] Alternativamente, puede iniciar la tarea de forma asincrónica de modo que la respuesta HTTP no se retrase.
Si no hay suficientes visitantes en un sitio web utilizando la programación webcron basada en visitantes, las tareas programadas no se ejecutarán a tiempo.
Dado que la programación de webcron basada en visitantes permite la posibilidad de soluciones webcron autónomas, aumenta la portabilidad de un sitio web o un producto de software basado en la web. Algunos software de código abierto basados en la web que tienen tareas que deben ejecutarse con regularidad utilizan una solución webcron basada en visitantes para ejecutar esas tareas. [ cita requerida ]
Acceso remoto
Una solución webcron con capacidad de acceso remoto se incluye normalmente [ término de pavo real ] con un par de componentes de cliente y servidor. El cliente se ejecuta en una computadora separada, como la computadora personal del usuario. Se configura un programa de trabajo en la computadora donde reside el componente del cliente. Luego, cuando se ejecuta el trabajo, el componente del cliente se comunica con el componente del servidor. [1] [se necesita fuente no primaria ]
El acceso remoto generalmente [ término de pavo real ] ofrece capacidades que son imposibles con otros proveedores de programación. Los datos entre los componentes del cliente y del servidor suelen estar cifrados [ término de pavo real ] incluso a través de HTTP. Esto permite que un complemento o módulo para el componente del cliente se comunique con el componente del servidor para solicitar de forma segura información que normalmente está restringida [ término de pavo real ] . [1] La compresión de los datos enviados y recibidos ayuda a reducir el ancho de banda general utilizado. [9] [se necesita fuente no primaria ]
Una implementación típica [ término de pavo real ] de un módulo o complemento de acceso remoto es realizar copias de seguridad incrementales de archivos y bases de datos desde el servidor web al cliente. Algunas implementaciones de respaldo incremental pueden incluso ofrecer una funcionalidad básica de sistema de detección de intrusiones basada en host . [9]
Acceso local
Se puede usar una solución webcron en hosts que ya tienen cron disponible. Esto es útil [ término de pavo real ] cuando la funcionalidad requerida solo está disponible a través del servidor web. El demonio cron es el proveedor de programación y contacta periódicamente con el script utilizando otra herramienta como Wget .
En el caso de una solución webcron con capacidad de acceso remoto, cron puede ejecutar el componente cliente para ejecutar el script.
Preocupaciones de seguridad
Dado que las soluciones de webcron implican disponibilidad a través de una URL, existen varios problemas de seguridad diferentes que los usuarios deben abordar. Una solución webcron presenta problemas de confianza, oportunidades para ataques de denegación de servicio , detección de paquetes o redes , ejecución de un ataque de reproducción y posible exposición de información. Una solución webcron es un punto de entrada ideal para los piratas informáticos criminales . [1] [se necesita fuente no primaria ]
Cuando se utiliza un proveedor de programación de terceros, los usuarios confían en que el tercero no hará un mal uso de la URL de ninguna manera. Los usuarios también deben asumir que la conexión entre el servidor de terceros y el servidor web es segura contra los piratas informáticos.
Cuando se utiliza un proveedor de programación basado en visitantes, los usuarios pueden proporcionar inadvertidamente un posible lugar para ataques de denegación de servicio. Además, si una secuencia de comandos se escribe incorrectamente, la secuencia de comandos puede exponer involuntariamente información sobre el servidor.
Cuando se utiliza un proveedor de programación de acceso remoto, los usuarios generalmente [ término de pavo real ] tienen un control refinado sobre cómo se lleva a cabo la comunicación con el servidor web. Si se utiliza HTTP, la URL se envía sin cifrar a través del cable, pero los datos de la solicitud suelen estar cifrados [ término de pavo real ] . Esto abre la posibilidad de ataques de denegación de servicio y ataques de repetición.
Referencias
- ^ a b c d e Documentación del producto WebCron , consultado el 1 de diciembre de 2010
- ^ a b Documentación de descripción general de phpJobScheduler , recuperada el 14 de octubre de 2010
- ^ SetCron es un servicio de programación de tareas / webcron que le permite programar cronjobs.
- ^ Servicios de Webcron
- ^ a b Planes de EasyCron
- ^ Página de precios premium de SetCronJob , consultada el 14 de octubre de 2010
- ^ EasyCron acepta la expresión cron
- ^ ¿Cuáles son las funciones crontab de SetCron?
- ^ a b Documentación del módulo de copia de seguridad del sitio WebCron , recuperada el 1 de diciembre de 2010