Выполнение wget на удаленном сервере с помощью JSch

Я пытаюсь выполнить последовательность команд, используя библиотеку JSch, все связано с SSH:

  1. "cd / root / downloads /"
  2. "wget ​​mydownloadlink / file.rar"
  3. "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 для каждой команды, которую вы хотите запустить. Вам также следует открыть / получить поток ошибок, потому что в этом случае он, вероятно, показал ошибку.

Другие вопросы по тегам