Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.vidushi.takshila.Linux;
- import java.io.InputStream;
- import com.jcraft.jsch.Channel;
- import com.jcraft.jsch.ChannelExec;
- import com.jcraft.jsch.JSch;
- import com.jcraft.jsch.Session;
- public class TaskExecuter implements IConstants{
- public static final String SERVER_HOST_1= "10.10.100.109";
- public static final String USER="root";
- public static final String PASSWORD ="root";
- public static final String KEY = "StrictHostKeyChecking";
- public static final String YES = "yes";
- public static final String NO = "no";
- public static final String PREFERRED_AUTHENTICATION="PreferredAuthentications";
- public static final String PREFERRED_AUTHENTICATION_VALUE ="gssapi-with-mic,publickey,keyboard-interactive,password";
- public static final String EXEC ="exec";
- public static synchronized void execute(int count,String host,String user,String password){
- // the task that we want to perform on linux machine
- String command = "PATH=/root/jdk1.7.0_71/bin:$PATH; export PATH;java -jar test1.jar \"shortstory.txt\" \"updatedshortstory.txt\"";
- log("command executed"+command );
- try{
- java.util.Properties config = new java.util.Properties();
- config.put(KEY, NO);
- config.put( PREFERRED_AUTHENTICATION,PREFERRED_AUTHENTICATION_VALUE); //setting up authentication
- JSch jsch = new JSch();
- Session session=jsch.getSession(user, host, 22);
- session.setPassword(password);
- session.setConfig(config);
- session.connect();
- Channel channel=session.openChannel(EXEC);
- ((ChannelExec)channel).setCommand(command);// executing command
- channel.setInputStream(null);
- ((ChannelExec)channel).setErrStream(System.err);
- InputStream in=channel.getInputStream();
- channel.connect();
- byte[] tmp=new byte[1024];
- while(true){
- while(in.available()>0){
- int i=in.read(tmp, 0, 1024);
- if(i<0)break;
- log(new String(tmp, 0, i));
- }
- if(channel.isClosed()){
- break;
- }
- try{Thread.sleep(1000);}catch(Exception ee){}
- }
- channel.disconnect();
- session.disconnect();
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- private static void log(String log){
- System.out.println(log);
- }
- }
Add Comment
Please, Sign In to add comment