您的位置:首页 > 编程语言 > Java开发

Ganymed SSH-2 for Java系列9之scpPut

2014-04-18 16:04 477 查看
Ganymed SSH-2 for Java系列9之scpPut

[java]
view plaincopy





/** 
     *  
     * Put local file to remote machine. 
     *  
     * @param host 
     *  
     * @param username 
     *  
     * @param password 
     *  
     * @param localFile 
     *  
     * @param remoteDir 
     *  
     * @throws IOException 
     */  
  
    public static void scpPut(String host, String username, String password,  
  
    String localFile, String remoteDir, String permissions_code, int port)  
            throws IOException {  
  
        if (logger.isInfoEnabled()) {  
  
            logger.info("scp [" + localFile + "] to " + host + remoteDir);  
  
        }  
  
        Connection conn = null;  
  
        try {  
            conn = getOpenedConnection(host, username, password, port);  
  
            SCPClient client = new SCPClient(conn);  
  
            client.put(localFile, remoteDir, permissions_code);  
        } finally {  
            if (null != conn) {  
                conn.close();  
            }  
        }  
  
    }  

各个参数说明:
String host 服务器ip

String username 用户名

 String password, 密码

String localFile,本地文件

 String remoteDir, 远程目录

 String permissions_code,权限码

 int port ssh端口

示例:

[java]
view plaincopy





String remoteDir = "/usr/local";  
    String localFile ="src/test.log";  
  
    try {  
  
        CommandRunner.scpPut("172.16.18.141", "root",  
                "123456", localFile, remoteDir,"0060", 22);  
          
    } catch (IOException e) {  
        e.printStackTrace();  
    }  

说明:
这个操作是将本地的test.log上传到远程目录:usr local目录下面,如果重复上传同一个文件,会覆盖掉上一个文件,

如果第一次赋予的 权限码是0060 ,对同一个文件上传,第二次赋予的权限码是0600,那么其权限不会被改变,

但是文件会被第二次上传的文件覆盖掉。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: