SCP 從服務器上傳下載文件

近期項目中需要把windows上的一個腳本上傳到linux的服務器上,於是上網搜了下方法,可以通過scp來做,代碼如下:

package com.infobird.scp;

import java.io.IOException;
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.SCPClient;

public class SCPUtil {

	private Connection conn;
	private String ip;
	private String user;
	private String password;
	
	public SCPUtil(String ip, String user, String password) {
		this.ip = ip;
		this.user = user;
		this.password = password;
	}
	
	private boolean login() throws IOException {
		conn = new Connection(ip);
		conn.connect();
		return conn.authenticateWithPassword(user, password);
	}
	
	public int exec(String cmds) {
		
		int ret = -1;
		
		try {
			if(login()) {
				
				SCPClient scpClient = conn.createSCPClient();
				//服務器端的文件下載到本地的目錄下

				scpClient.get("/data/test_hbase.pig", "F:/log/");

				//將本地文件上傳到服務器端的目錄下

				scpClient.put("D:/Workspaces/others1/TaskPlatform/src/main/resources/TestTemplate.pig", "/data/");

				
			} else {
				System.out.println("登錄遠程機器失敗" + ip);
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			if(conn != null) {
				conn.close();
			}
		}
		
		return ret;
	}
	
	
	public static void main(String args[]) {
		SCPUtil scp = new SCPUtil("10.122.**.**", "root", "******");
		
		scp.exec(null);
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章