¿Cómo configurar una tarea cron a través de PHP (no CPanel)?¿Cómo configurar una tarea cron a través de PHP (no CPanel)?
Respuesta
mayoría de los sistemas Linux con crond
instalados proporciona unos directorios que se pueden configurar trabajos con:
/etc/cron.d/
/etc/cron.daily/
/etc/cron.weekly/
/etc/cron.monthly/
...
La idea aquí es crear un archivo en uno de estos directorios. Tendrá que establecer los permisos/propiedad adecuados para esos (o uno de esos) directorios para que el usuario que inicie el script PHP pueda escribir en él (usuario de Apache si es un script web, o el usuario de CLI si se usa CLI).
Lo más fácil es crear un archivo vacío, asignarle el permiso/propiedad adecuado y hacer que el script PHP lo agregue/modifique.
Por ejemplo:
$ touch /etc/cron.d/php-crons
$ chown www-data /etc/cron.d/php-crons
Luego, en PHP:
$fp = fopen('/etc/cron.d/php-crons', 'a');
fwrite($fp, '* 23 * * * echo foobar'.PHP_EOL);
fclose($fp);
Hay un embargo sobre el uso de PHP para editar crontabs que ha estado en vigor desde 2004. Es posible que no se le permitirá Para hacer esto, si vives fuera de los Estados Unidos, verifica con la agencia de tu gobierno local.
Pero en serio, siempre se puede llamar a "crontab -" con una llamada al sistema. Si necesita hacer esto para un usuario que no sea el servidor web, necesitará algo de magia ssh o sudo. Pero todo parece una mala idea.
Si lo que estás recibiendo es añadir dinámicamente un montón de puestos de trabajo para formar crontab su aplicación, una mejor manera de hacerlo es añadir manualmente trabajo de una sola cron:
php -f /path/to/your/runner.php
Guarde sus puestos de trabajo que serían agregando cron manualmente en una tabla (o una tabla por tipo de tarea), y luego haga que su corredor revise las tablas cada minuto/hora/día/lo que sea y ejecute todas las que se deben ejecutar en ese momento.
Desde PHP puro crearé deamon que gestionará este (esos) trabajo (s) cron.
cómo crearla: http://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/ para empezar
Encontrar archivo crontab no es fácil en alojamiento compartido y no hay certeza de que cron leerá ese archivo de nuevo, mientras que ya se está ejecutando. En realidad, la mejor manera es usar el comando corntab.
Si no tiene acceso al shell puede usar, por ejemplo, PHPShell. Prueba esto.
Uplode un archivo txt a través de FTP, con puestos de trabajo en fomat crontab por ejemplo
5 * * * * /some/file/to/run.sh > /dev/null
(recuerda poner una nueva línea al final de la línea)
Inicie sesión en su PHPShell y ejecute
crontab uploded_filename.txt
Recuerde que cambiar los permisos de archivo
chmod 775 uploded_filename.txt
Compruebe sus trabajos Cron usando
crontab -l
Saludos
- 1. ¿Cómo configurar una tarea cron para PHP en IIS?
- 2. CodeIgniter + línea de comando + Cron + Cpanel
- 3. ¿Cómo configurar una tarea cron en el módulo Magento?
- 4. ¿Una tarea cron mata la última ejecución de cron?
- 5. Tuberías de correos electrónicos a través de cPanel y PHP
- 6. Configuración de una tarea cron en Windows
- 7. ¿Cómo crear una cuenta de correo electrónico en Cpanel a través de PHP?
- 8. ¿Cómo puedo configurar el trabajo cron a través del script PHP?
- 9. ¿Cómo configurar una tarea CRON para que se ejecute solo una vez por conjunto de instancias?
- 10. ¿Podemos configurar el intervalo de tiempo de cron job a través del script PHP?
- 11. ¿Cómo configurar una tarea cron para abrir una página web en el navegador usando crontab?
- 12. cómo configurar el trabajo cron desde el script php?
- 13. ¿Cómo configurar una tarea cron para ejecutar un ejecutable cada hora?
- 14. ¿Cómo pasar un parámetro bash a una secuencia de comandos python en una tarea cron?
- 15. ¿Cómo ejecutar un archivo CodeIgniter a través de CRON?
- 16. ¿Cómo configurar la página web predeterminada a través de htaccess?
- 17. cómo hacer un trabajo cron todos los días a las 6 en punto por Cpanel
- 18. git push a través de cron
- 19. trabajo PHP CRON, cabeceras HTTP no de salida
- 20. Cómo enviar correos electrónicos a través de cron job usng PHP mysql
- 21. PHP: ¿La ruta requerida no funciona para el trabajo cron?
- 22. tarea cron que nunca se ejecutará
- 23. ejecutando un script php a través de cron, ¿cómo puedo registrar cualquier salida?
- 24. Configurar una tarea programada en .Net
- 25. cPanel/Host/Acceso a phpMyAdmin
- 26. ¿Qué uso cuando un trabajo cron no es suficiente? (Php)
- 27. cómo ejecutar una tarea de administración en joomla con un trabajo cron?
- 28. PHP Concurrency via Cron
- 29. Loop a través de una matriz php
- 30. PHP y cron: problemas de seguridad
El primer problema al que se ejecutará es el permiso para hacerlo. – Orbling
buscando da goog obtienes muchos ejemplos de ejecutar php a través de un trabajo cron pero no al revés. Me interesaría obtener una respuesta a esta pregunta también. – Fatmuemoo
http://stackoverflow.com/questions/2264756/cron-jobs-using-php – Abhijit