• Publicidad

Ejecutar un archivo desde otra maquina

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Ejecutar un archivo desde otra maquina

Notapor Richo » 2005-08-30 09:58 @457

Hola: estoy intentando ejecutar un archivo de extension .sh desde perl, utilizando el
modulo use Net::FTP, es decir hago la conexion pero no encuentro la manera de ejecutar el .sh
y dejar el resultado en el directorio de la maquina a la que me estoy conectando, sera que alguien me puede ayudar
o si existe algun comando ftp->execute o algo asi , o que otra manera hay...
gracias
Richo
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2005-08-30 09:46 @448

Publicidad

Notapor kidd » 2005-08-30 11:24 @516

Hola:

Desde FTP no puedes ejecutar un programa. Lo que si puedes hacer es un script de perl que te ejecute el programa y capture el output, para ello te recomiendo que leas el siguiente tutorial:
http://perlenespanol.com/archives-tut/000055.html


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 explorer39 » 2005-08-30 13:28 @603

Desde FTP se puede ejecutar muy poco. Depende del servidor FTP al que te conectes.
En otros servidores FTP sólo podrás hacer cosas como
Código: Seleccionar todo
site exec quota -v                     Para saber el espacio libre asignado al usuario.
site chmod 644 myfile.html             Para cambiar los permisos de un fichero.

El comando de FTP para hacer esto se llame SITE EXEC. Lo que hace es ejecutar los binarios que queden en un directorio determinado (por ejemplo, /bin/ftp-exec para el servidor in.ftpd). Lo que pasa es que todo esto tiene una historia muy larga de inseguridades. Incluso el proftpd ya no lo trae.

El comando que debes utilizar en el Net::FTP es el site.
explorer39
 

comando desde perl

Notapor Richo » 2005-08-30 15:54 @704

Que pena la molestia pero de verdad esto me tiene apurado, de que forma se puede ejecutar en perl un comando del tipo "ls -lart> prueba"
para que sea enviado al servidor al que me conecto, es decir el resultado de ese comando que quedaria almacenado en prueba lo guarde en una ruta especifica. gracias
Richo
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2005-08-30 09:46 @448

Notapor explorer39 » 2005-08-30 16:38 @735

Código: Seleccionar todo
#!/usr/bin/perl

use Net::FTP;

# Ejecutamos el comando
qx( ls -alrt > prueba );

# Lo enviamos por FTP
my $ftp = Net::FTP->new( "host destino", Debug => 1 )
    or die "Cannot connect to host: $@";
$ftp->login('usuario','contraseña')
    or die "Cannot login ", $ftp->message;
$ftp->cwd("/pub")
    or die "Cannot change working directory ", $ftp->message;
$ftp->put("prueba")
    or die "get failed ", $ftp->message;
$ftp->quit;
explorer39
 


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado