Un trabajo cron es una tarea en segundo plano automatizada programada para realizarse en un momento específico. Algunos ejemplos incluyen buscar actualizaciones, copias de seguridad o enviar notificaciones de recordatorio. Los trabajos cron son importantes porque automatizan tareas que reducen las operaciones manuales para ayudar con la seguridad, el rendimiento y la funcionalidad para un administrador y todos los usuarios del servidor o sitio web.
Puede usar el trabajo cron de cPanel función para ejecutar comandos Unix y/o automatizar la ejecución de sus scripts PHP, Perl o Python. Para crear un trabajo cron, primero debe iniciar sesión en su cPanel en "Trabajos cron ” y luego seleccione “Estándar ” o “Avanzado .” También puede especificar una dirección de correo electrónico que el demonio Cron utilizará para enviar los resultados del trabajo.
Siga los pasos a continuación para aprender cómo configurar un trabajo cron en cPanel y ejecutarlo manualmente.
- Cómo llegar a la página de trabajo de Cron en cPanel
- Configuración de correo electrónico para notificaciones e informes
- Cómo configurar un trabajo cron
- Configuración de un trabajo cron en cPanel
- Cómo configurar un trabajo cron en la línea de comandos
- Especificar el comando a ejecutar
- Uso de la cadena de agente de usuario
- Ejecutar un trabajo cron manualmente
- Resolución de problemas de un trabajo cron
¡Consulte los planes de alojamiento de servidores compartidos de InMotion para obtener soluciones económicas adaptadas a las necesidades rápidas de su sitio web!
Cómo llegar a la página de trabajo de Cron en cPanel
- Inicie sesión en el cPanel.
- Desplácese por el cPanel para encontrar el trabajo de Cron icono. Haz click en eso.
- Luego verá la página de trabajos de Cron . La mitad superior de la página tiene el siguiente aspecto:
Una vez que esté en la página Trabajos de Cron puede agregar trabajos cron, agregar un correo electrónico para informes y notificaciones de trabajos cron y administrar trabajos cron existentes en la parte inferior de la página donde se enumeran.
Configuración de correo electrónico para notificaciones e informes
Para recibir notificaciones por correo electrónico sobre la ejecución y salida de un trabajo cron, deberá agregar una dirección de correo electrónico. El correo electrónico cron en cPanel, el valor predeterminado es el usuario de la cuenta, pero se puede especificar para otra dirección de correo electrónico en esta sección de la página del trabajo cron.
En algunos casos, es posible que no necesita tener un correo electrónico producido para cada resultado de salida del trabajo cron. Por ejemplo, puede estar ejecutando un trabajo cron que se ejecuta 20 veces al día. Recibir un correo electrónico cada vez que se ejecuta el cron puede volverse tedioso y agregar una carga innecesaria a su servidor.
Si desea que el trabajo cron no tenga salida, debe agregar lo siguiente al comando del trabajo cron:
mycommand >/dev/null 2>&1
Reemplazaría "mycommand" con su comando de trabajo cron.
Cómo configurar un nuevo trabajo de Cron
La creación de un trabajo cron se puede hacer en una línea de comando o a través de la interfaz de cPanel. Le mostraremos ambos métodos a continuación.
Cómo configurar un trabajo cron en cPanel
La configuración de un trabajo cron en cPanel se simplifica al proporcionar campos para dos partes principales de cada trabajo cron:la programación y el comando.
La sección de programación del trabajo cron también cuenta con un menú desplegable para las configuraciones de uso común.
La parte más compleja de crear el trabajo cron es agregar el comando o script. Puede causar problemas fácilmente con su sitio web o el servidor si no sabe cómo configurar correctamente un trabajo cron. Si está siguiendo instrucciones de un tercero, tenga cuidado y siga las instrucciones cuidadosamente. Para estar seguro, asegúrese de hacer una copia de seguridad de su sitio antes de agregar y ejecutar un trabajo cron.
Si no está familiarizado con cómo usar un comando o escribir un script, se recomienda que hable o trabaje con un programador experimentado o un administrador de sitios web para configurar su trabajo cron.
Cuando se desplace hacia abajo en la página de Cron Job, verá la opción para Agregar nuevo Cron Job. . Esta es una captura de pantalla de la interfaz proporcionada por cPanel para configurar un trabajo cron:
- Programe el tiempo de ejecución de su secuencia de comandos.
- Agregue su comando o secuencia de comandos que debe ejecutarse en la línea de comandos.
- Haga clic en Agregar nuevo trabajo cron para guardar los cambios.
Cuando se guarde el script, lo verá en una tabla más abajo en la página.
Cómo configurar un trabajo cron en la línea de comandos
Primero, deberá configurar Crontab. Esta es la sección que determina cuándo se ejecutará el trabajo cron. El orden es:
[minute][hour][day][month][weekday][command]
Este es un ejemplo de cómo agregar un trabajo cron en el cPanel. Tenga en cuenta que crontab es la hora y la fecha aplicadas al comando o secuencia de comandos.
Así es como se vería la entrada en la página cron de cPanel en una línea de un archivo de texto:
41 04***/my/script -v
Este código significa que el script ("/my/script -v") se ejecutará:
- Todos los días de la semana (incluidos los días laborables)
- Todos los meses del año
- A las 4:41 a.m.
Día de la semana es todos los días de la semana, incluidos los fines de semana. Un "día de la semana" significa literalmente todos los días de la semana:de lunes a domingo.
- Configuración común :este menú desplegable incluye intervalos de tiempo de uso común. Si selecciona uno, el sistema configurará todos los Minuto , Hora , Día , Mes y Día de la semana cuadros de texto para usted.
- Minuto — La cantidad de minutos entre cada vez que se ejecuta el trabajo cron, o el minuto de cada hora en el que desea ejecutar el trabajo cron.
- Hora — La cantidad de horas entre cada vez que se ejecuta el trabajo cron, o la hora de cada día en la que desea ejecutar el trabajo cron.
- Día — El número de días entre cada vez que se ejecuta el trabajo cron, o el día del mes en el que desea ejecutar el trabajo cron.
- Mes — La cantidad de meses entre cada vez que se ejecuta el trabajo cron, o el mes del año en el que desea ejecutar el trabajo cron.
- Día de la semana — Los días de la semana en los que desea ejecutar el trabajo cron.
Al configurar la hora, también es bueno configurar el cron para que se ejecute en un minuto impar, en lugar de la parte superior o inferior de la hora. El ejemplo anterior se ejecuta a las 4:41.
La sugerencia de usar un minuto impar se debe a que muchos trabajos cron siempre están configurados para ejecutarse en momentos comunes. Esto significa que un servidor puede experimentar una pérdida repentina de rendimiento porque está intentando procesar muchos trabajos cron en esos momentos comunes. Configurar su trabajo cron para que comience a una hora extraña ayudará con el rendimiento del servidor.
Sin embargo, si está en un servidor dedicado y sabe qué trabajos cron se están ejecutando, está bien usar esos tiempos comunes ya que todos los recursos del sistema estarán dedicados solo a su sitio o aplicación.
Especificación del comando a ejecutar
Cuando usa un comando para un trabajo cron, tendrá dos partes:
[program to execute (perl/pyth/php)][switches][script]
El programa a ejecutar especificará el tipo de script que está ejecutando y será:
- php
- Pitón
Necesitará saber dónde se ha guardado su script. Se llamará en su ruta directa ya que se encuentra en nuestro servidor, por lo que será algo similar a /home/userna5/public_html/path/to/scrip t, con “userna5 siendo ” su nombre de usuario.
Los scripts Perl/CGI deben estar en su cgi-bin, con permisos de 755. Lea nuestro artículo sobre permisos de archivos para obtener más información. Estos son ejemplos de secuencias de comandos de trabajos cron que ejecutan secuencias de comandos PHP, Python o Perl/CGI:
- Para ejecutar un script PHP: php -q /home/usern5/public_html/scripts/testrun.php
- Para secuencias de comandos de Python: python /home/usern5/public_html/path/to/script
- Para secuencias de comandos Perl/CGI: /home/usern5/public_html/cgi-bin/yourscript.pl
Puede usar cualquier tipo de editor de texto cuando esté creando sus scripts de trabajo cron. Asegúrese de saber dónde lo ha guardado (con los permisos correctos) como se indicó anteriormente.
Uso de la cadena de agente de usuario
La definición general de un agente de usuario del World Wide Web Consortium (W3.org) es:
Un agente de usuario es cualquier software que recupera y presenta contenido web para usuarios finales o se implementa mediante tecnologías web . Los agentes de usuario incluyen navegadores web, reproductores multimedia y complementos que ayudan a recuperar, representar e interactuar con contenido web.
El uso de una cadena de agente de usuario se considera opcional, pero se trata en este artículo para los desarrolladores que aún deseen considerar su uso.
El wget El comando está deshabilitado en todos los servidores compartidos por motivos de seguridad. La mayoría de los scripts que se ejecutan a través de wget se puede utilizar con el lynx o rizo dominio. Las nuevas reglas de mod_security que se aplicaron con las últimas actualizaciones de PHP evitarán que lynx y curl funcionen si no se configura un agente de usuario. Para configurar el agente de usuario, puede usar el siguiente comando:
- curl –usuario-agente TU_CADENA (URL)
- lynx -dump -useragent=SU_CADENA (URL)
Su comando de trabajo cron completo terminaría luciendo así:
/usr/bin/curl --user-agent cPanel-Cron https://example.com/cron.php
Ejecutar un trabajo cron manualmente
En algunos casos, puede ser necesario ejecutar un trabajo cron de forma manual y no programada. Esto a menudo se hace para solucionar problemas de secuencias de comandos o realizar pruebas, o en algunos casos, puede que simplemente sea necesario ejecutar inmediatamente la secuencia de comandos para su funcionalidad. Por ejemplo, puede tener una secuencia de comandos que borre el almacenamiento en caché, pero desea que se ejecute de inmediato en lugar de esperar a la hora programada.
PRECAUCIÓN:tenga cuidado al ejecutar un trabajo cron manualmente. Comprenda lo que hace el script antes de ejecutarlo a ciegas. Los scripts pueden variar desde hacer una copia de seguridad de su sitio hasta borrar el caché. Puede afectar lo que ven sus espectadores, el funcionamiento de su sitio web y el rendimiento de su servidor.
Cuando ejecuta un trabajo cron manualmente, está inmediatamente ejecutando la línea de comando en una terminal o está ejecutando una secuencia de comandos que debe ser accesible a través de un sitio web.
Un trabajo cron se ejecuta según un cronograma. Ejecutarlo manualmente elimina la restricción de tiempo ya que lo está ejecutando de inmediato.
Ejemplo de ejecución manual de un trabajo cron de PHP:
Tenga en cuenta que necesitará saber dónde se encuentra ese script. También puede ejecutar un script PHP directamente desde el navegador siempre que tenga la URL para ejecutarlo.
Por ejemplo, podría abrir cualquier navegador y usar una URL como esta:
https://example.com/scripts/mydailyscript.php
Ejecutar un comando de Linux que NO está en un script simplemente se ejecutaría directamente en una terminal. Deberá acceder al sitio a través de la terminal con los derechos de acceso adecuados. De lo contrario, ejecutar manualmente un script es lo mismo que se ve arriba para el script PHP.
Resolución de problemas de trabajos cron
En general, puede saber si su trabajo cron se ejecutó según la notificación o el resultado que recibió cuando se ejecuta un trabajo cron. Si desea asegurarse de que el trabajo cron se haya ejecutado, verifique los registros. Para obtener más información, consulte:Cómo comprobar si se ha ejecutado un trabajo cron (registro Crontab).
¡Felicidades! Ahora que sabe cómo configurar un trabajo cron y ejecutarlo en cPanel, puede agregar tareas repetitivas que desea controlar bajo su propio horario.
¡Lleva tu negocio al siguiente nivel! Conozca a sus clientes en línea con las soluciones de alojamiento compartido de InMotion.