Ganymed SSH-2 for Java系列9之scpPut

本文介绍了如何利用GanymedSSH-2forJava库实现本地文件到远程机器的上传操作,包括关键参数解释及示例应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ganymed SSH-2 for Java系列9之scpPut


  1. /** 
  2.      *  
  3.      * Put local file to remote machine. 
  4.      *  
  5.      * @param host 
  6.      *  
  7.      * @param username 
  8.      *  
  9.      * @param password 
  10.      *  
  11.      * @param localFile 
  12.      *  
  13.      * @param remoteDir 
  14.      *  
  15.      * @throws IOException 
  16.      */  
  17.   
  18.     public static void scpPut(String host, String username, String password,  
  19.   
  20.     String localFile, String remoteDir, String permissions_code, int port)  
  21.             throws IOException {  
  22.   
  23.         if (logger.isInfoEnabled()) {  
  24.   
  25.             logger.info("scp [" + localFile + "] to " + host + remoteDir);  
  26.   
  27.         }  
  28.   
  29.         Connection conn = null;  
  30.   
  31.         try {  
  32.             conn = getOpenedConnection(host, username, password, port);  
  33.   
  34.             SCPClient client = new SCPClient(conn);  
  35.   
  36.             client.put(localFile, remoteDir, permissions_code);  
  37.         } finally {  
  38.             if (null != conn) {  
  39.                 conn.close();  
  40.             }  
  41.         }  
  42.   
  43.     }  

各个参数说明:

String host 服务器ip

String username 用户名

 String password, 密码

String localFile,本地文件

 String remoteDir, 远程目录

 String permissions_code,权限码

 int port ssh端口


示例:

  1. String remoteDir = "/usr/local";  
  2.     String localFile ="src/test.log";  
  3.   
  4.     try {  
  5.   
  6.         CommandRunner.scpPut("172.16.18.141""root",  
  7.                 "123456", localFile, remoteDir,"0060"22);  
  8.           
  9.     } catch (IOException e) {  
  10.         e.printStackTrace();  
  11.     }  

说明:

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

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

但是文件会被第二次上传的文件覆盖掉。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值