使用 jsch 将文件从 linux 服务器目录复制到其他目录
copy file from linux server directory to other directory using jsch
我想将文件 /home/user/dir1/abc.txt
复制到 /home/user/dir2/
。我是 linux 和 jsch 的新手,请指导我将上述文件复制到目录中。我尝试使用以下代码,但它对我不起作用。
public static void main(String args[]){
String host = "192.168.11.90";
String user = "Smt";
String password = "ping";
String command = "./test/stable-uniconnect-server-0.179/bin/launcher run";
String src ="/home/Smt/abc/text1.txt";
String dest ="/home/Smt/abcd";
String cp = "mv -u /home/Smt/abc/text1.txt /home/Sumit/abcd/";
try{
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
// Create a JSch session to connect to the server
Session session = jsch.getSession(user, host, 22);
session.setPassword(password);
session.setConfig(config);
// Establish the connection
session.connect();
ChannelExec channel = (ChannelExec) session.openChannel("exec");
channel.setCommand(cp);
channel.setErrStream(System.err);
System.out.println("Connected...");
String dir="abc";
session.disconnect();
}
catch(Exception e){
e.printStackTrace();
}
}
这是您程序的修改代码。它对我有用。
根据您的情况替换源文件夹和目标文件夹位置。
import java.util.Properties;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
/**
* @author jangachary.s
*
*/
public class CpTest {
public static void main(String args[]) {
String host = "192.168.01.69";
String user = "username";
String password = "password";
// String command = "./test/stable-uniconnect-server-0.179/bin/launcher run";
String src = "srcFolder";
String dest = "destFolder";
String cp = "cp " + src + "/fileName " + dest;
try {
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
// Create a JSch session to connect to the server
Session session = jsch.getSession(user, host, 22);
session.setPassword(password);
session.setConfig(config);
// Establish the connection
session.connect();
ChannelExec channel = (ChannelExec) session.openChannel("exec");
channel.setCommand(cp);
channel.connect();
channel.setErrStream(System.err);
System.out.println("Connected...");
session.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
我想将文件 /home/user/dir1/abc.txt
复制到 /home/user/dir2/
。我是 linux 和 jsch 的新手,请指导我将上述文件复制到目录中。我尝试使用以下代码,但它对我不起作用。
public static void main(String args[]){
String host = "192.168.11.90";
String user = "Smt";
String password = "ping";
String command = "./test/stable-uniconnect-server-0.179/bin/launcher run";
String src ="/home/Smt/abc/text1.txt";
String dest ="/home/Smt/abcd";
String cp = "mv -u /home/Smt/abc/text1.txt /home/Sumit/abcd/";
try{
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
// Create a JSch session to connect to the server
Session session = jsch.getSession(user, host, 22);
session.setPassword(password);
session.setConfig(config);
// Establish the connection
session.connect();
ChannelExec channel = (ChannelExec) session.openChannel("exec");
channel.setCommand(cp);
channel.setErrStream(System.err);
System.out.println("Connected...");
String dir="abc";
session.disconnect();
}
catch(Exception e){
e.printStackTrace();
}
}
这是您程序的修改代码。它对我有用。 根据您的情况替换源文件夹和目标文件夹位置。
import java.util.Properties;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
/**
* @author jangachary.s
*
*/
public class CpTest {
public static void main(String args[]) {
String host = "192.168.01.69";
String user = "username";
String password = "password";
// String command = "./test/stable-uniconnect-server-0.179/bin/launcher run";
String src = "srcFolder";
String dest = "destFolder";
String cp = "cp " + src + "/fileName " + dest;
try {
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
// Create a JSch session to connect to the server
Session session = jsch.getSession(user, host, 22);
session.setPassword(password);
session.setConfig(config);
// Establish the connection
session.connect();
ChannelExec channel = (ChannelExec) session.openChannel("exec");
channel.setCommand(cp);
channel.connect();
channel.setErrStream(System.err);
System.out.println("Connected...");
session.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}