Foros del Web » Administración de Sistemas » Unix / Linux »

cron, no entiendo porque no funciona

Estas en el tema de cron, no entiendo porque no funciona en el foro de Unix / Linux en Foros del Web. Hola, intonto ejecutar un php a las 12 de la noche todos los dias, os explico como lo he hecho: habri etc/crontab, añadi una linea ...
  #1 (permalink)  
Antiguo 01/01/2004, 10:03
 
Fecha de Ingreso: febrero-2003
Mensajes: 763
Antigüedad: 21 años, 2 meses
Puntos: 2
cron, no entiendo porque no funciona

Hola, intonto ejecutar un php a las 12 de la noche todos los dias, os explico como lo he hecho:
habri etc/crontab, añadi una linea como la que habia arriba, en /etc cree un directorio llamado cron.24h y se lo insique a la linea, a esta lina puse 0 00 * * * y lo demas como las de arriba, dentro de la carpta creada puse un enlace simbolico hacia /var/www/elphp.php. Llego las 12 de la noche no hace nada, miro el syslog y me dice esto a las 12 y un segundo:

/user/sbin/cron[316]: (*system*) RELOAD (/etc/crontab)

Despues probe a poner ejemplo que habia por internet, a poner el php en la mismo directorio pero nada, siempre el mismo mensaje.

¿alguien sabe cual es el problema?

un saludo
  #2 (permalink)  
Antiguo 02/01/2004, 09:43
Avatar de kapachov  
Fecha de Ingreso: diciembre-2002
Ubicación: Loeches
Mensajes: 464
Antigüedad: 21 años, 4 meses
Puntos: 0
Holas...

tu archivo es un ejecutable?
no se mucho de php (ni de nada)

creo que tu linea del crontab deberia ser tal cual como lo ejecutas desde la linea de comandos...

la cual seria asi mas o menos...

/usr/bin/php /var/www/elphp.php

PD: si estoy errado que me corrijan...
__________________
Siempre hago lo que quiero...
Aunque no quiera...
  #3 (permalink)  
Antiguo 02/01/2004, 10:08
 
Fecha de Ingreso: febrero-2003
Mensajes: 763
Antigüedad: 21 años, 2 meses
Puntos: 2
Yo creo que se cual es el problema, que cron no es capaz de ejecutar .php, alguien puede ayudar un .php a un .sh

un saludo
  #4 (permalink)  
Antiguo 02/01/2004, 21:25
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 22 años, 3 meses
Puntos: 1
No me queda muy claro lo que estas queriendo hacer pero si es ejecutar un script en php lo que tenes que hacer es leerlo a traves de un browser, lynx por ej:

/path/to/lynx -opciones /dir/file.php
  #5 (permalink)  
Antiguo 03/01/2004, 14:44
 
Fecha de Ingreso: febrero-2003
Mensajes: 763
Antigüedad: 21 años, 2 meses
Puntos: 2
acabo de probarlo como tu dice en -opcion he puesto -dump (algo asi) y nada sigue haciendo lo mismo, he probado hacerlo como los ejemplo que hay en ese fichero pero con la ruta de lynx y tampoco, no entido porque ocurre eso.

un saludo
  #6 (permalink)  
Antiguo 03/01/2004, 15:27
Avatar de gomo  
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 21 años, 11 meses
Puntos: 0
Lo que tienes que hacer es cambiar el interprete por defecto del script. Por ejemplo, si para un script en bash pones "#!/bin/bash" al principio del archivo, para un script en php pones "#!/usr/bin/php -q" (la opcion -q evita que ponga headers HTTP). La ubicación del intérprete, claro está, puede variar. Solo asegúrate que tengas instalada la version CGI del PHP.
También deberías hacerlo ejecutable (chmod a+x <archivo>).

Saludos ;)
__________________
  #7 (permalink)  
Antiguo 03/01/2004, 18:16
 
Fecha de Ingreso: febrero-2003
Mensajes: 763
Antigüedad: 21 años, 2 meses
Puntos: 2
entonces, el problema esta en que no pongo:
"#!/usr/bin/php -q" al principio, entonces deberia de ponerlo en primera linea y quitar los ?>

Y que ruta utilizo, la de php o la de lynx?

un saludo
  #8 (permalink)  
Antiguo 03/01/2004, 19:47
Avatar de gomo  
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 21 años, 11 meses
Puntos: 0
Suponiendo que tengas tu script en /home/escan/script.php, este debería tener la línea con el intérprete (#!/usr/bin/php -q) Y los <? ?>. También debes darle permisos de ejecución.
Puedes probar que funciona correctamente haciendo:
$ cd && ./script.php

Saludos ;)
__________________
  #9 (permalink)  
Antiguo 03/01/2004, 19:50
 
Fecha de Ingreso: febrero-2003
Mensajes: 763
Antigüedad: 21 años, 2 meses
Puntos: 2
Pues ese ultimo comando no lo acabo de entender, si lo ejecuto desde php script.php me sale un error de php y no entiendo porque, pero desde lynx si funciona perfectamente
  #10 (permalink)  
Antiguo 03/01/2004, 20:40
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 22 años, 3 meses
Puntos: 1
tambien lo podes leer con wget usando el path completo claro.
  #11 (permalink)  
Antiguo 04/01/2004, 07:05
 
Fecha de Ingreso: febrero-2003
Mensajes: 763
Antigüedad: 21 años, 2 meses
Puntos: 2
Miren, esto es lo que tengo en este momento en /etc/crontab

01 14 * * * root test -e /usr/bin/lynx || run-parts --report /var/www/mysql.php

No me ejecuta el php y me sale esto en el syslog:

14:01:01 Pasarela /usr/sbin/cron[313]: (*system*) RELOAD (/etc/crontab)

En vez de con lynx lo podria hacer con php pero no puedo ya que al parecer no es capaz de conectar a la base de datos y me salen mucho errores
  #12 (permalink)  
Antiguo 04/01/2004, 07:36
Avatar de gomo  
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 21 años, 11 meses
Puntos: 0
Y que error te da cuando lo tratas de ejecutar?
Si lo abres con el lynx tienes que poner el path a la dirección del servidor http, del tipo http://localhost/script.php, no del tipo /var/script.php.
Léete un tutorial con los básicos de PHP para aclararte este tema. También puede servirte esto:
http://www.phpfreaks.com/tutorials/86/0.php

Saludos ;)
__________________
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:33.