Pregunta

Quiero tener una interfaz web para controlar cuándo llamar a un script PHP. En esta interfaz, quiero poder establecer ciertos tiempos o rangos a los que se llamará un script. Esta información se almacenará en una base de datos. Cuando presiono guardar, quiero que lea todas las horas programadas del DB, luego formatee y escriba en un crontab para un trabajo cron. ¿Hay alguna manera de que PHP modifique un archivo crontab?

¿Fue útil?

Solución

Iría por crear un " cron_runner.php " script que se ejecuta cada minuto, lee los datos cron y los ejecuta en consecuencia. Se siente como reinventar la rueda, pero al menos no tienes problemas con los permisos del archivo.

Otros consejos

Debería ser posible, pero necesita que PHP tenga los derechos necesarios para acceder al crontab del usuario o para ejecutar " crontab " desde la línea de comando. En un entorno de alojamiento compartido, este no es el caso.

En realidad, puede manipular los trabajos cron tan simples como archivos de texto. Tienes que tener cuidado de no romper nada.

El demonio cron guarda los cronjobs para cada usuario usando la siguiente estructura:

/var
   /spool
        /cron
            /crontabs
                /root
                /user1
                /user2
                ..
                /user5

Con esta información, puede modificar el archivo de texto correspondiente al usuario para el que desea configurar el nuevo cron.

Tenga en cuenta que modificar los archivos del sistema puede ser peligroso y debe tener mucho cuidado. Su aplicación también necesitará algunos privilegios adicionales para modificar estos archivos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top