• Publicidad

Ejecutar archivos Perl desde perl

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Ejecutar archivos Perl desde perl

Notapor alex_go » 2007-03-06 18:16 @803

Saludos,
Soy alex y soy nuevo.

Llevo todo el día buscando y lo que parecía una tontería se ha convertido en una perdida de tiempo.

Soy nuevo en Perl, en realidad lo estoy viendo gracias a las estadísticas AwStats que están hechas en perl.

Mi problema es que estoy en un hosting, con 2 webs, y tengo que hacer un archivo Perl que ejecute otros archivos Perl, o sea que ejecute...

Código: Seleccionar todo
/home/dominio.com/www/awstats/cgi-bin/awstats.pl -config=dominio.com -update
/home/dominio.com/www/awstats/cgi-bin/awstats.pl -config=dominio2.com -update

y en un futuro con un tercer dominio. Ese archivo Perl será añadido por el administrador de mi hosting a una tarea cron noctura. Y cuando yo tenga otros sitios web añadiré líneas sin tener que pedir más tareas cron a mis hosting.

Muchas gracias, no sabía en que apartado poner la pregunta porque mis conocimientos de Perl son básicos y no sé si la pregunta lo es.
alex_go
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2007-03-06 18:04 @795

Publicidad

Notapor explorer » 2007-03-06 18:46 @823

Bienvenido a los foros de Perl en Español.

Hay varias formas de ejecutar código Perl desde perl.

Algunas de ellas:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
do 'script.pl';
system('script.pl','argumentos');
`script.pl`;
qx(script.pl);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Yo creo que la más cómoda podría ser la da las (`).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor alex_go » 2007-03-06 19:25 @851

Muchas gracias por tu ayuda, de verdad.
Sólo me funciona el de system();
pero no me coje los argumentos, que como puedes ver son:
-config=dominio.com -update

los he puesto tal cual y entre comillas (ambos encerrados en las mismas comillas simples)
¿Como debo ponerlos?
He probado poniéndolos dentro de las comillas del script pero tampoco.

Muchas gracias. :D
alex_go
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2007-03-06 18:04 @795

Notapor kidd » 2007-03-06 21:47 @949

Hola:

Intenta lo siguiente:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
chdir('/home/dominio.com/www/awstats/cgi-bin/');

system('perl awstats.pl -config=dominio.com -update');
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor alex_go » 2007-03-07 04:05 @211

Saludos kidd,

Gracias, pero hace lo mismo.
El comando que os he dicho funciona si lo ejecutas desde consola, pero si lo meto en el archivo perl y lo ejecuto desde web no hace caso de los parámetros.

Para web lo que si que funciona es:
http://dominio.es/awstats.php?config=do ... s&update=1

Pero claro lo que yo quiero es que se ejecute con un cron, no desde web, y no se si desde perl puedo llamar la url, y que cron ejecute el perl.

Muchas gracias por vuestra ayuda, de verdad.
alex_go
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2007-03-06 18:04 @795

Notapor explorer » 2007-03-07 04:56 @247

Pon el camino completo al ejecutable perl, dentro del system. Puede ser /usr/local/bin/perl, por ejemplo.

Esto es quizás debido a que ejecutándose como cron, la variable $PATH del sistema no sea la misma que cuando estás como usuario.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor alex_go » 2007-03-07 11:48 @533

Gracias por vuestra ayuda, en realidad funciona pero es el servidor el que no deja hacer lo que hago desde ahí.
Al final los administradores de mi server lo han arreglado con un script al que yo no tengo acceso.
alex_go
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2007-03-06 18:04 @795


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 8 invitados