Ganymed SSH-2 for Java系列9之scpPut
各个参数说明:
说明:
- /**
- *
- * 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端口
示例:
- 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,那么其权限不会被改变,
但是文件会被第二次上传的文件覆盖掉。