Búsqueda de sitios web

Cómo ejecutar un script PHP como usuario normal con Cron


Cron es una potente utilidad para la programación de trabajos basada en el tiempo en sistemas operativos tipo Unix, incluido Linux. Se ejecuta como un demonio y se puede utilizar para programar trabajos como comandos o scripts de shell para realizar copias de seguridad, programar actualizaciones y mucho más, que se ejecutan periódica y automáticamente en segundo plano en momentos, fechas o intervalos específicos.

Una limitación de cron es que supone que un sistema funcionará para siempre; por lo que es adecuado para servidores distintos de las máquinas de escritorio. Además, puede programar una tarea en un momento determinado o posterior, utilizando los comandos "at" o "batch": pero la tarea solo se ejecuta una vez (no se repite).

Lectura sugerida: Cómo programar trabajos usando Anacron en Linux

En este artículo, explicaremos cómo permitir que un usuario normal del sistema ejecute un script PHP a través de un programador de trabajos cron en Linux.

Puede programar trabajos utilizando el programa crontab (CRON TABle). Cada usuario puede tener su propio archivo crontab que se compone de seis campos para definir un trabajo:

  • Minuto: acepta valores entre 0 y 59.
  • Hora: acepta valores entre 0 y 23.
  • Día del mes: almacena valores entre 1 y 31.
  • Mes del año: almacena valores entre 1 y 12 o enero-diciembre; puede usar las primeras tres letras del nombre de cada mes, es decir, enero o junio.
  • Día de la semana: contiene valores entre 0 y 6 o domingo a sábado. Aquí también puede utilizar las primeras tres letras del nombre de cada día, es decir, domingo o miércoles.
  • Comando – comando a ejecutar.

Para crear o editar entradas en su propio archivo crontab, escriba:

crontab -e

Y para ver todas sus entradas de crontab, escriba este comando (que simplemente imprimirá el archivo crontab en la salida estándar):

crontab -l

Sin embargo, si es administrador del sistema y desea ejecutar un script PHP como otro usuario, debe programarlo en el archivo /etc/crontab o en el archivo crontab del usuario raíz, que admite un archivo adicional para especificar el nombre de usuario:

sudo vi /etc/crontab

Y programe su script PHP para que se ejecute de esta manera, especifique el nombre de usuario después de la sección de tiempo.

0 0 * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

La entrada anterior ejecuta el script /var/www/test_site/cronjobs/backup.php todos los días a medianoche como usuario tecmint.

Si desea ejecutar el script anterior automáticamente cada diez minutos, agregue la siguiente entrada al archivo crontab.

*/10 * * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

En el ejemplo anterior, */10 * * * * representa cuándo debe realizarse el trabajo. La primera figura muestra minutos; en este escenario, cada "diez" minuto. Las demás cifras muestran, respectivamente, hora, día, mes y día de la semana.

También te puede interesar leer los siguientes artículos relacionados.

  1. Uso de Shell Scripting para automatizar las tareas de mantenimiento del sistema Linux
  2. 12 usos útiles de la línea de comandos de PHP que todo usuario de Linux debe conocer
  3. Cómo ejecutar códigos PHP en la terminal de Linux
  4. 30 comandos de Linux útiles para administradores de sistemas

¡Eso es todo! Esperamos que encuentre útil este artículo. Si tiene alguna pregunta o idea adicional para compartir sobre este tema, utilice el formulario de comentarios a continuación.