2016-05-13 12 views
0

Kann mir bitte jemand helfen, wie man Unix-Befehl in Java-Code mit Feder sftp Adapter ausführen. Ich habe eine Verbindung mit diesem Jar hergestellt, weiß aber nicht, wie ich weiter vorgehen soll, um den Unix-Befehl auszuführen.Ausführen von Unix-Befehl in Java mit sftp Federadapter

package automation; 

import java.io.InputStream; 

import org.springframework.integration.channel.ChannelPurger; 
import org.springframework.integration.file.remote.session.Session; 
import org.springframework.integration.sftp.session.DefaultSftpSessionFactory; 
import org.springframework.integration.sftp.session.SftpSession; 

import com.jcraft.jsch.*; 


public class unixConnect { 

    DefaultSftpSessionFactory dsftp; 
    String input1 = "/****/****/file.dat"; 

    public DefaultSftpSessionFactory getDsftp() { 
     return dsftp; 
    } 

    public void setDsftp(DefaultSftpSessionFactory dsftp) { 
     this.dsftp = dsftp; 
    } 

    private Session sess; 

    public void connect() { 
     try {   
      sess = dsftp.getSession(); 
      String command = "ksh /home/***/exec " + input1; 
      ---- This is the place how to execute the above command. 
      channel.setInputStream(null);   
      channel.setOutputStream(System.out);                 
      ((ChannelExec)channel).setCommand(command);    
      ((ChannelExec)channel).setErrStream(System.out); 
      channel.connect();             
      InputStream input = channel.getInputStream();  

     } catch (Exception e) { 
      System.out.println("Error" + e); 
     } 
    } 
} 

Ich habe nach einer Antwort gesucht, aber keine bekommen. :(

+0

Was SFTP mit der Ausführung von Befehlen in Linux zu tun hat Java bietet bereits eine Möglichkeit, Linux-Befehle mit der Runtime-Bibliothek auszuführen. –

Antwort

0

SFTP ist SSH File Transfer Protocol. Sie sehen den Teil "Dateiübertragung". Es gibt keinen, der Befehlsausführung. Sie können Dateien übertragen, aber man kann nichts laufen. Das ist per Definition.