java执行shell脚本,实现拷贝

java执行shell脚本代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;

public class CopyDemo
	{
	public static void main(String[] args)
		{
		String hostname = "134.32.43.***";//要登陆目标主机
		String username = "root";//登陆用的用户名
		String password = "***";   //登陆用到的密码
		try
			{
			Connection conn = new Connection(hostname);
			conn.connect();
			boolean isAuthenticated = conn.authenticateWithPassword(username, password);
			if (isAuthenticated == false)
			    throw new IOException("Authentication failed.");
			Session sess = conn.openSession();
			    sess.execCommand("ps aux ");
			
			 try {  
				 
				 System.out.println("start!!!!!!!!!");
				 	//文件的拷贝;
		        	String shell = "cp /gbase/shell.sh /gbase/shell2.sh";
					Process ps = Runtime.getRuntime().exec(shell);
		            ps.waitFor();  
		  
		            BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));  
		            StringBuffer sb = new StringBuffer();  ;
		            String line;  
		            while ((line = br.readLine()) != null) {  
		                sb.append(line).append("\n");  
		            }  
		            String result = sb.toString();  
		            System.out.println(result);  
		            }   
		        catch (Exception e) {  
		            e.printStackTrace();  
		            }  
 	
     System.out.println("helloworld");
			
			sess.close();
			conn.close();
			}
		catch (IOException e)
		{
		e.printStackTrace(System.err); 
		System.exit(2);
		}
		}
}

 

 查看结果:

 

 

你可能感兴趣的:(shell脚本)