elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Sistemas Operativos
| |-+  GNU/Linux (Moderador: MinusFour)
| | |-+  Problemas al ejecutar .php con ampersand en cron?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problemas al ejecutar .php con ampersand en cron?  (Leído 4,177 veces)
ccrunch


Desconectado Desconectado

Mensajes: 1.050



Ver Perfil WWW
Problemas al ejecutar .php con ampersand en cron?
« en: 19 Noviembre 2014, 20:44 pm »

Hola a todos. Tengo que ejecutar unos ficheros php en cron, en centos. Esos ficheros llevan ampersands (&) y cuando se envía por mail el reporte, dice que  no se encuentra la ruta, y la ruta que me llega al correo se corta justo donde empieza el ampersand.

Alguien me puede ayudar?

Salu2


En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Problemas al ejecutar .php con ampersand en cron?
« Respuesta #1 en: 19 Noviembre 2014, 20:55 pm »

Pega tu crontab.


En línea

ccrunch


Desconectado Desconectado

Mensajes: 1.050



Ver Perfil WWW
Re: Problemas al ejecutar .php con ampersand en cron?
« Respuesta #2 en: 19 Noviembre 2014, 21:12 pm »

Pega tu crontab.
##      *       *       *       *       0-7     lynx -dump 'Can't Access `file://localhost/var/www/vhosts/midominio.es/httpdocs/cron/cron.php?bot=155&action=check'

##      *       *       *       *       0-7     php /var/www/vhosts/midominio.es/httpdocs/cron/cron.php?bot=155&action=check >> /root/pruebadoc.txt

ninguno de los dos funciona, el primer comando del cron me dice:
Código:
Can't Access `file://localhostCan't Access `file://localhost//var/www/vhosts/midominio.es/httpdocs/cron/cron.php?bot=155&action=check'
Alert!: Unable to access document.

lynx: Can't access startfile '

El segundo error dice:
Código:
Could not open input file: /var/www/vhosts/midominio.es/httpdocs/cron/cron.php?bot=155

Lo que quiero es ejecutar ese script.

Salu2
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Problemas al ejecutar .php con ampersand en cron?
« Respuesta #3 en: 19 Noviembre 2014, 21:53 pm »

##      *       *       *       *       0-7     lynx -dump 'Can't Access `file://localhost/var/www/vhosts/midominio.es/httpdocs/cron/cron.php?bot=155&action=check'

##      *       *       *       *       0-7     php /var/www/vhosts/midominio.es/httpdocs/cron/cron.php?bot=155&action=check >> /root/pruebadoc.txt

ninguno de los dos funciona, el primer comando del cron me dice:
Código:
Can't Access `file://localhostCan't Access `file://localhost//var/www/vhosts/midominio.es/httpdocs/cron/cron.php?bot=155&action=check'
Alert!: Unable to access document.

lynx: Can't access startfile '

El segundo error dice:
Código:
Could not open input file: /var/www/vhosts/midominio.es/httpdocs/cron/cron.php?bot=155

Lo que quiero es ejecutar ese script.

Salu2

Esto no es ningun problema de cron. Le estas pasando a Linx:

Código
  1. 'Can't Access `file://localhost/var/www/vhosts/midominio.es/httpdocs/cron/cron.php?bot=155&action=check'

Esto no es un path ni una url. Primero porque está el texto ese de "Can't Access" y segundo porque file:// no hace referencia a un archivo tampoco, hace referencia a una URL.

No existe el archivo cron.php?bot=155&action=check. Existe el archivo cron.php, lo demas es un query string que pertenece a una URL.

Necesitas ejecutar lynx? No puedes hacerlo con curl?

El de php sufre de lo mismo. No existe un archivo cron.php?bot=15.

Código
  1. curl http://localhost/script/cron.php?bot=15 >> /path/to/file.txt
En línea

ccrunch


Desconectado Desconectado

Mensajes: 1.050



Ver Perfil WWW
Re: Problemas al ejecutar .php con ampersand en cron?
« Respuesta #4 en: 20 Noviembre 2014, 11:29 am »

Hola, he probado con esto:
Código:
curl http://localhost/var/www/vhosts/midominio.es/httpdocs/cron/cron.php?bot=150&action=check >> /root/pruebacurl.txt
Pero me dice:
Código:
curl: (7) couldn't connect to host

Citar
No existe el archivo cron.php?bot=155&action=check. Existe el archivo cron.php, lo demas es un query string que pertenece a una URL.
Te refieres a que no puedo poner la consulta en el mismo url?

Salu2
En línea

#!drvy


Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Problemas al ejecutar .php con ampersand en cron?
« Respuesta #5 en: 20 Noviembre 2014, 12:11 pm »

Citar
url: (7) couldn't connect to host

¿ Tienes apache (o algún servidor http) corriendo ?



Tienes que diferenciar entre url y path. La url puede incluir parámetros que el servidor HTTP transforma y envía a el interprete.. la path solo  puede contener la ruta original del archivo y los parámetros se envían de otra forma.

Si no quieres tener que correr un servidor http solo para hacer el cron tendrías que modificar un  poco el script.

Código
  1. if(php_sapi_name()==='cli'){
  2.   $params = getopt(null,array('bot:','action:'));
  3.   $_GET['bot'] = $params['bot'];
  4.   $_GET['action'] = $params['action'];
  5.   unset($params);
  6. }
  7.  
  8. print_r($_GET);

Código
  1. php /var/www/cron.php --bot 150 --action check >> /root/pruebacurl.txt

Código
  1. Array
  2. (
  3.    [bot] => 150
  4.    [action] => check
  5. )
  6.  

Saludos
« Última modificación: 20 Noviembre 2014, 12:14 pm por #!drvy » En línea

daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Problemas al ejecutar .php con ampersand en cron?
« Respuesta #6 en: 20 Noviembre 2014, 13:37 pm »

edito
. todo lo que habia escrito lo habia puesto dvry antes

edito2
si tienes un servidor ejecutándose
en ves de:
Código
  1. curl http://localhost/var/www/vhosts/midominio.es/httpdocs/cron/cron.php?bot=150&action=check >> /root/pruebacurl.txt

prueba con:
Código
  1. curl http://tudominio.es/cron/cron.php?bot=150&action=check >> /root/pruebacurl.txt
« Última modificación: 20 Noviembre 2014, 13:48 pm por daryo » En línea

buenas
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Problemas al ejecutar .php con ampersand en cron?
« Respuesta #7 en: 20 Noviembre 2014, 14:18 pm »

Yo diria que estas haciendo una mezcla de url y path otra vez.

Me atreveria a decir que el directorio principal de tu servidor web es:

Código
  1. /var/www/vhosts/midominio.es/httpdocs/

Entonces deberías poder hacer la consulta a:

Código
  1. http://www.midominio.es/cron/cron.php?bot=150&action=check >> /path/to/file.txt

Depende tambien de tu configuración de tu vhost. (Si permite desde localhost, etc).
En línea

ccrunch


Desconectado Desconectado

Mensajes: 1.050



Ver Perfil WWW
Re: Problemas al ejecutar .php con ampersand en cron?
« Respuesta #8 en: 20 Noviembre 2014, 15:03 pm »

Hola, al final lo hice de otra manera porque era mas o menos urgente, pero gracias a todos por la ayuda (y a Dantemc que fue quien me ayudó en la solución final).

gracias de nuevo!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sesiones en un cron
PHP
XafiloX 8 3,099 Último mensaje 13 Marzo 2009, 19:22 pm
por XafiloX
Crear un Cron
GNU/Linux
pacomt 1 2,679 Último mensaje 19 Julio 2010, 16:48 pm
por unixgeek
Problemas con el cron
GNU/Linux
Clavo Oxidado 2 2,759 Último mensaje 4 Junio 2014, 10:59 am
por Clavo Oxidado
Cómo sabe cron cuando ejecutar un comando, si en día/mes pongo */5?
GNU/Linux
ccrunch 2 2,468 Último mensaje 7 Diciembre 2014, 22:14 pm
por engel lex
Ejecutar Firefox desde cron atraves de un script
GNU/Linux
mmarulanda 2 3,473 Último mensaje 27 Octubre 2017, 04:16 am
por Slava_TZD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines