PHP - Problemas con cron en Centos

 
Vista:

Problemas con cron en Centos

Publicado por ezequiel (12 intervenciones) el 01/03/2018 04:32:31
Hola, quiero programar una tarea en el crontab que eejcute un archivo php que elimina archivos alojados en un servidor web; el problema es que no lo hace. Lo extraño que ejecuto ese archivo php mediante linea de comandos y si cumple con su tarea. Tambien me funciona bien cuando ejecuto un script php simple que lo unico que hace es crear archivos de texto en una carpeta del localhost.

Necesito esto ya que me lo piden en la empresa que trabajo y la distribución es Centos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 604
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problemas con cron en Centos

Publicado por Miguel (218 intervenciones) el 01/03/2018 08:56:24
Puede ser un tema de permisos insuficientes para eliminar esos archivos que comentas...

Para ver que estés programando correctamente el crontab coloca un cron que realice cosas sencillas o ejecutar otra aplicación. Y claro, revisa que el servicio esté activo (y aunque no es necesario reinicialo luego de hacer cambios)...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con cron en Centos

Publicado por Ezequiel (3 intervenciones) el 01/03/2018 17:16:01
Hola, el cron funciona bien con scripts sencillos, pero por ejemplo al ejecutar el siguiente comando en la consola env -i php -q /var/www/html/eze-pruebas/consultarbd.php y me sale el siguiente error "PHP Fatal error: Uncaught
exception 'PDOException' with message 'SQLSTATE=HY000, SQLDriverConnect:-23101 [Informix] [Informix ODBC Driver] [Informix] Unspecified System Error = -23101"


Al parecer tiene un error con respecto a la base de datos Informix. El tema es que ejecuté como root el comando en consola y tambien sale ese error. Igual ojo porque si ejecuto el script sin el "env -i" no tira errores y lo mismo cuando ejecuto otro script que me borra archivos del hosting. Por ejemplo si los ejecuto del navegador hace todo bien, pero cuando los necesito arrancar del cron tira este tipo de errores con respecto a Informix.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problemas con cron en Centos

Publicado por Yamil Bracho (888 intervenciones) el 01/03/2018 17:22:15
El problema esta con la conexion a tu BD. Estas usando ODBC o el driver nativo ? Esta habiloitado en el php.ini...? Tienes acceso al servidor bd BD desde el equipo donde estas ejeuctando tu aplicacion.. ? Hay muchas causas..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 604
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problemas con cron en Centos

Publicado por Miguel (218 intervenciones) el 01/03/2018 18:05:28
Ok, entonces no es problema con el Cron. Para qué usas los parámetros "env -i"?... El Cron te puede funcionar perfectamente con: php /folder/to/script.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con cron en Centos

Publicado por Ezequiel (3 intervenciones) el 01/03/2018 18:25:30
No no me entendiste. Que un script me funcione al colocar el comando php /folder/to/script.php NO SIGNIFICA QUE ME FUNCIONE SI O SI CON EL CRON. Por ej hay tareas que me las ejecuta bien sin errores cuando en la terminal pongo php + comando. No pasa lo mismo cuando esa tarea la almaceno en el cron.

Lo que me permite el comando "env -i" es la salida de errores de php pero cuando se usa el cron. ES COMO QUE ME INDICA POR QUÉ EL CRON NO ESTÁ EJECUTANDO ESA TAREA.
Como ya te digo, de nada me sirve que me funcione perfectamente el comando "php /folder/to/script.php" LANZADO POR CONSOLA SOLAMENTE, a que no me funcione cuando lo guardo en el crontab.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con cron en Centos

Publicado por ezequiel (12 intervenciones) el 02/03/2018 01:00:56
He leido que cuando ocurre el problema de que hay scripts que corren bien sin el crontab y con errores al usar este, es por el tema de las variables de entorno. Como uso base de datos Informix, en la pagina de IBM dicen que debo poner esta configuracion en el archivo crontab (de hecho aclaro que el crontab ejecuta bien mis scripts que no hagan uso de la base de datos)

1
2
3
4
5
6
7
8
9
10
11
12
INFORMIXDIR=<path_to_informix_engine>
export INFORMIXDIR
PATH=${INFORMIXDIR}/bin:${PATH}
export PATH
INFORMIXSERVER=<informix_server_name>
export INFORMIXSERVER
ONCONFIG=<configuration_file_name>
export ONCONFIG
INFORMIXSQLHOSTS=<path_to_sqlhosts_file>
export INFORMIXSQLHOSTS
 
<informix_server_utility_call>

Eso dicen que hay que agregar Eninformixdir iria la direccion de instalacio del informix, lo que no se que iria en onconfig y en informixsqlhosts. Es un poco confuso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar