php - job - ejecutar crontab manualmente
Ejecutar script PHP en trabajo cron (3)
En nuestro servidor centos6. Me gustaría ejecutar un script php en el trabajo cron como usuario de apache pero desafortunadamente no funciona.
Aquí está la edición de crontab (crontab -uapache -e)
24 17 * * * php /opt/test.php
y aquí está el código fuente del archivo "test.php" que funciona bien con el usuario "apache" como propietario.
<?php exec( ''touch /opt/test/test.txt'');?>
Intento reemplazar php con la ruta completa de php (/ usr / local / php / bin / php) pero tampoco funciona
Gracias de antemano, por favor ayúdame
Tareas automatizadas: Cron
Cron es un servicio de programación basado en el tiempo en sistemas operativos de computadora tipo Linux / Unix. Los trabajos de cron se utilizan para programar comandos que se ejecutarán periódicamente. Puede configurar comandos o scripts, que se ejecutarán repetidamente a una hora determinada. Cron es una de las herramientas más útiles en sistemas operativos similares a Linux o UNIX. El servicio cron (daemon) se ejecuta en segundo plano y comprueba constantemente el archivo / etc / crontab , / etc / cron. / * directorios. También verifica el directorio / var / spool / cron / .
Configurando Tareas Cron
En el siguiente ejemplo, el comando crontab que se muestra a continuación activará las tareas cron automáticamente cada diez minutos:
*/10 * * * * /usr/bin/php /opt/test.php
En la muestra anterior, el * / 10 * * * * representa cuándo debe realizarse la tarea. La primera cifra representa los minutos , en este caso, en cada "diez" minutos. Las otras cifras representan, respectivamente, hora , día , mes y día de la semana .
*
es un comodín, que significa "cada vez" .
Comience con la búsqueda de su binario PHP escribiendo en la línea de comandos:
whereis php
La salida debe ser algo como:
php: / usr / bin / php /etc/php.ini /etc/php.d / usr / lib64 / php / usr / include / php / usr / share / phr /usr/share/man/man1/php.1 .gz
Especifique correctamente la ruta completa en su comando.
Escriba el siguiente comando para entrar en cronjob:
crontab -e
Para ver lo que tienes en crontab .
EDITAR 1:
Para salir del editor vim sin guardar, simplemente haga clic en:
Shift+:
Y luego escribe q!
Es posible que deba ejecutar el trabajo cron como un usuario con permisos para ejecutar el script PHP. Intente ejecutar el trabajo cron como root, usando el comando runuser
( man runuser
). O cree un crontable del sistema y ejecute el script PHP como usuario autorizado, como se describe en @Philip.
Proporciono una respuesta detallada sobre cómo usar cron en esta publicación de .
¿Cómo escribir un cron que ejecute un script todos los días a la medianoche?
Tuve el mismo problema ... Tuve que ejecutarlo como usuario.
00 * * * * root /usr/bin/php /var/virtual/hostname.nz/public_html/cronjob.php