En este tutorial aprenderás a crear una tarea cron en cPanel.
Los trabajos de cron te permiten automatizar ciertos comandos o scripts en tu sitio. Puedes configurar un comando o script para ejecutarlos en un horario específico todos los días, todas la semanas, etc. Por ejemplo, puedes configurar un trabajo de cron para eliminar archivos temporales todas las semanas para liberar espacio en el disco.
Advertencia
Necesitas tener un buen conocimiento de los comandos de Linux antes de poder usar los trabajos de cron de manera eficaz, ya que un mal uso de esta función puede ocasionar daños o un mal funcionamiento del sitio web
Pasos a realizar
1. Una vez hayas accedido a tu cuenta cPanel, deberás ubicar la sección "Avanzada" y hacer clic en "Trabajos de cron"

2. La primera opción que nos muestran es la de enviar las notificaciones que generen los trabajos cron. Por defecto toma la cuenta de correo por defecto de la cuenta cPanel.

3. En el siguiente apartado podrás configurar la tarea o tareas cron a tu preferencia. Como nos comentaban en el anterior apartado, podrás indicar el código >/dev/null 2>&1 después de cada comando para que las tareas no generen notificaciones. Gracias al asistente de cPanel podrás indicar fácilmente que las tareas se ejecuten una vez al mes, todos los días, una vez cada cinco minutos, etc.


4. Finalmente, haz clic en "Añadir nuevo trabajo cron" y ya tendrías la tarea cron creada.
Nota:
No enviar correos electrónicos: Si al ejecutar la tarea cron quieres omitir el correo configurado en el apartado 2 debes usar el siguiente comando después del comando: " >/dev/null 2>&1"
Es posible que tenga ques ajustar /home/miusuario/public_html/ dependiendo del directorio en el que se encuentra la cuenta de usuario. Para ver el directorio de tu cuenta, simplemente mira el ejemplo general que aparece en "Añadir tarea cron".
Cuando ejecutes wget o curl con una URL asegúrate de encerrarla entre comillas simples o dobles.
Usando wget
wget -q -O- "https://dominio.com/tu-url-a-ejecutar"
# Otra forma sería así (si te fijas aquí omitimos que envíe un correo electrónico al email configurado en cPanel)
/usr/bin/wget -O /dev/null "https://dominio.com/tu-url-a-ejecutar" >/dev/null 2>&1
Usando curl
# Aquí usaremos el user agent de cPanel para diferenciarlo de cualquier otro usuario que ejecute la url
/usr/bin/curl --user-agent cPanel-Cron "https://dominio.com/tu-url-a-ejecutar"
# Otra forma
curl --user-agent cPanel-Cron "https://dominio.com/tu-url-a-ejecutar"
Como puedes observar hay varias maneras de ejecutar una url en cron.
Ejecutar un script PHP
/usr/local/bin/php -q wp-cron.php >/dev/null 2>&1
# O también
php /home/miusuario/public_html/wp-cron.php
Para usar una versión concreta de php. Debes reemplazar ea-phpXX por la versión de php en cuestión.
# Usando la versión 7.4 de PHP /usr/local/bin/ea-php74 /home/miusuario/public_html/mi-cron.php # Usando la versión 8.0 de PHP /usr/local/bin/ea-php80 /home/miusuario/public_html/mi-cron.php
Usar una versión PHP distinta
| Programa | Ruta |
|---|---|
| php | /usr/local/bin/php /usr/local/bin/ea-php56 /usr/local/bin/ea-php70 /usr/local/bin/ea-php71 /usr/local/bin/ea-php72 /usr/local/bin/ea-php73 /usr/local/bin/ea-php74 /usr/local/bin/ea-php80 |
| python | /usr/bin/python /usr/bin/python2 /usr/bin/pytho3 |
| perl | /usr/bin/perl |
| java | /usr/bin/java |
| bash | /bin/bash |
| ruby | /usr/bin/ruby |
| curl | /usr/bin/curl |