Скачивание файлов через удаленный сервер без прокидывания портов: различия между версиями

Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
(Новая: Вариант закачивания файлов с использованием удаленных серверов (практически любого количества) по SSH...)
 
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
Вариант закачивания файлов с использованием удаленных серверов (практически любого количества) по SSH без использования прокидывания портов или настройки прокси-серверов. Если нет авторизации по ключам - добавить -t в первом случае, но тогда не будет прогресс-бара от wget'a.
Вариант закачивания файлов с использованием удаленных серверов (практически любого количества) по SSH без использования прокидывания портов или настройки прокси-серверов. Если нет авторизации по ключам - добавить -t в первом случае, но тогда не будет прогресс-бара от wget'a. Если указан не веб-адрес (не http или ftp) - идет скачивание файла на удаленном сервере (например, getremotely /home/vasya/file123).


----
----
Строка 5: Строка 5:
<source lang=bash>
<source lang=bash>
getremotely() {
getremotely() {
ssh -C user1@host1 "ssh -C user2@host2 'wget "${1}" -O -'" > "${1##*/}"
[[ "${1%%:/*}" == 'http' || "${1%%:/*}" == 'ftp' ]] && cmd='wget -O -' || cmd='cat'
ssh -C user1@host1 "ssh -C user2@host2 '${cmd} "${1}"'" > "${1##*/}"
echo 'Download complete'
}
}
</source>
</source>


[[Category:Скрипт]]
[[Category:Скрипт]]

Текущая версия на 16:45, 20 февраля 2009

Вариант закачивания файлов с использованием удаленных серверов (практически любого количества) по SSH без использования прокидывания портов или настройки прокси-серверов. Если нет авторизации по ключам - добавить -t в первом случае, но тогда не будет прогресс-бара от wget'a. Если указан не веб-адрес (не http или ftp) - идет скачивание файла на удаленном сервере (например, getremotely /home/vasya/file123).


getremotely() {
[[ "${1%%:/*}" == 'http' || "${1%%:/*}" == 'ftp' ]] && cmd='wget -O -' || cmd='cat'
ssh -C user1@host1 "ssh -C user2@host2 '${cmd} "${1}"'" > "${1##*/}"
echo 'Download complete'
}