Foros del Web » Programación para mayores de 30 ;) » Java »

Ejecutar comandos REMOTOS desde Java

Estas en el tema de Ejecutar comandos REMOTOS desde Java en el foro de Java en Foros del Web. Compañeros necesito una pequeña informacion, como puedo ejecutar comandos desde java del sistema operativo PERO, este no esta en la maquina sino en un servidor. ...
  #1 (permalink)  
Antiguo 18/09/2009, 08:20
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Ejecutar comandos REMOTOS desde Java

Compañeros necesito una pequeña informacion, como puedo ejecutar comandos desde java del sistema operativo PERO, este no esta en la maquina sino en un servidor.

Es decir, yo estoy en Linux, estoy haciendo una aplicacion que va a ser usada en windos, pero debe ejecutar un comando del as400 XD

pero debo eliminar el contenido de un archivo, para ello en el as400 debo hacer "clrfpm archivo" el problema es que desde el ftp no puedo hacer eso, puedo borrar el archivo pero no el contenido, por lo tanto debo ejecutar ese comando ("clrpfm archivo") desde java, pero que sea un comando de ese servidor.

como hago eso?

o.Ô
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #2 (permalink)  
Antiguo 18/09/2009, 09:46
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Ejecutar comandos REMOTOS desde Java

Primero intenta ejecutarlo en remoto sin java, desde el windows (con línea de comandos o como puedas). Una vez que lo consigas, desde java es cuestión simplemente de llamar a ese comando windows.

Si no lo encuentras, quizás tengas que instalar un rsh para windows o similar.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 18/09/2009, 10:06
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Ejecutar comandos REMOTOS desde Java

umm la verdad, para hacerlo desde windos o linux debo hacer esto:

ftp 10.5.100.6
Connected to 10.5.100.6.
220-QTCP at ADMI.
220 Connection will close if idle more than 5 minutes.
Name (10.5.100.6:andrey): zdtasl
331 Enter password.
Password:
230 ZDTASL logged on.
Remote system type is .
ftp> cd CGDATA
250 "CGDATA" is current library.
ftp> delete CHEQUES

eso es lo q tengo que hacer, por lo tanto no creo que pueda hacerlo con linea de comandos en java.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #4 (permalink)  
Antiguo 18/09/2009, 10:42
Avatar de javico40  
Fecha de Ingreso: agosto-2008
Ubicación: Evergreen Terrace 123
Mensajes: 288
Antigüedad: 15 años, 8 meses
Puntos: 9
Respuesta: Ejecutar comandos REMOTOS desde Java

Tienes que usar Java RMI, con esto puedes ejecutar metodos en tu servidor de manera remota, de manera que pones en tu servidor los metodos que nesesitas ejecutar en esa maquina virtual y lo que haces es invocarlos desde tu cliente, espero te sirva de ayuda.

Aqui un tutorial: http://java.sun.com/docs/books/tutorial/rmi/index.html

pagina oficial sun: http://java.sun.com/javase/technolog.../rmi/index.jsp
__________________
.: Ludusoft Consultores :. Consultoria IT, Desarrollo Web, Virtualizacion, Programacion, Venta de Equipos, Hosting, Centro de Contacto. http://www.ludusoft.com
  #5 (permalink)  
Antiguo 18/09/2009, 12:16
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Ejecutar comandos REMOTOS desde Java

Emm, gracias javico, pero, no es ninguna maquina virutal, y no necesito poner ningun comando en el servidor solo ejecutar los comandos desde el cliente, sin necesidad de dejar metodos en el servidor . saludos
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #6 (permalink)  
Antiguo 18/09/2009, 15:04
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Ejecutar comandos REMOTOS desde Java

Hola:

Desde java, con

Process p = Runtime.getRuntime().exec("ftp 10.5.100.6")

ejecutas el ftp. Ahora al Process p obtenido le pides el inputStream y el outputStrema

InputStream is = p.getInputStream();
OutputStream os = p.getOutputStream();

Lo que escribas por el OutputStream es equivalente a si lo teclearas desde la línea de comandos (debes incluir los retornos de carro). Lo que leas por el InputStream es la salida del ftp, por lo que podrías analizar si todo va bien. También puedes obtener el error

InputStream err = p.getErrorStream()

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #7 (permalink)  
Antiguo 18/09/2009, 15:36
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Ejecutar comandos REMOTOS desde Java

umm compañero muy buena la infoamcion, aunque ya la hice, lo que queria (lo dije al inicio del post) era usar los comandos propios del sistema operativo, pero esto que escribiste me ha sido de mucha utilidad, gracias.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #8 (permalink)  
Antiguo 18/09/2009, 17:18
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
Respuesta: Ejecutar comandos REMOTOS desde Java

Cita:
Iniciado por javico40 Ver Mensaje
Tienes que usar Java RMI, con esto puedes ejecutar metodos en tu servidor de manera remota, de manera que pones en tu servidor los metodos que nesesitas ejecutar en esa maquina virtual y lo que haces es invocarlos desde tu cliente, espero te sirva de ayuda.

Aqui un tutorial: http://java.sun.com/docs/books/tutorial/rmi/index.html

pagina oficial sun: http://java.sun.com/javase/technolog.../rmi/index.jsp
CORRECTO! Si se necesita puedo enviar un ejemplo.
  #9 (permalink)  
Antiguo 18/09/2009, 17:19
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
Respuesta: Ejecutar comandos REMOTOS desde Java

Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

Desde java, con

Process p = Runtime.getRuntime().exec("ftp 10.5.100.6")

ejecutas el ftp. Ahora al Process p obtenido le pides el inputStream y el outputStrema

InputStream is = p.getInputStream();
OutputStream os = p.getOutputStream();

Lo que escribas por el OutputStream es equivalente a si lo teclearas desde la línea de comandos (debes incluir los retornos de carro). Lo que leas por el InputStream es la salida del ftp, por lo que podrías analizar si todo va bien. También puedes obtener el error

InputStream err = p.getErrorStream()

Se bueno.
Tambien muy valido, un compañero en la oficina se comunica desde php a as/400 con este método. Aun que en Java existe RMI que a mi parecer funciona más rápido.
  #10 (permalink)  
Antiguo 18/09/2009, 17:28
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
Respuesta: Ejecutar comandos REMOTOS desde Java

Encontr la pagina donde por primera vez encontre el ejemplo

http://casidiablo.net/rmi-%C2%BFque-...cillo-con-rmi/

Saludos.
  #11 (permalink)  
Antiguo 19/09/2009, 03:42
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Ejecutar comandos REMOTOS desde Java

Mira si esto te vale:

http://www.codeproject.com/KB/java/remoteshell.aspx
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 20:25.