Можно ли:
ssh user@machine
, sftp user2@server
, get file
) Если вам нужна функция «отсоединить» экрана, есть программа «dtach», которая предоставляет только эту функцию.
Существует несколько решений этой проблемы.
Один из вариантов - использовать команду screen
, однако она кажется немного сложной.
Лучший способ, который я нашел, - это отправить задание на задний план.
В вашем случае команда будет
scp user@machine:~/filename.ext /tmp &
scp -r user@machine:~/dirname /tmp &
Попробуйте screen
на машине B, запустите загрузку и отсоедините после этого:
На машине A:
ssh user@B
На машине B:
screen
sftp user@C
get some_file.tar.gz
Ctrl-a d
logout
Никогда не пытался, но мог работать.
Редактировать: позже войдите в систему и используйте screen -x
для повторного подключения к текущему сеансу. Затем отключите его должным образом, чтобы он не потреблял ресурсы сервера.
Ввод персонажа и (амперсанд) за командой запускает его в фоновом режиме. Однако я не знаю, как это сделать после того, как команда уже выполнена, и не знаю, работает ли это на удаленных машинах.