Выполнение wget на удаленном сервере с помощью JSch
Я пытаюсь выполнить последовательность команд, используя библиотеку JSch, все связано с SSH:
- "cd / root / downloads /"
- "wget mydownloadlink / file.rar"
- "scp -f file.rar"
Но это не работает, посмотри на мир моего кода:
Channel channel = session.openChannel("exec");
//Enter in directory to download
String cdCommand ="cd /root/downloads/";
((ChannelExec) channel).setCommand(cdCommand);
//Execute wget command
String wgetCommand = "wget "+linkDownload;
((ChannelExec) channel).setCommand(wgetCommand);
// exec 'scp -f rfile' remotely
String command = "scp -f " + rfile;
((ChannelExec) channel).setCommand(command);
// get I/O streams for remote scp
OutputStream out = channel.getOutputStream();
InputStream in = channel.getInputStream();
channel.connect();
1 ответ
channel.connect()
выполняет последнюю команду, которую вы ему предоставили. Вам нужно создать новый канал exec/connect для каждой команды, которую вы хотите запустить. Вам также следует открыть / получить поток ошибок, потому что в этом случае он, вероятно, показал ошибку.