Help Pobieranie za pomoca SSH w tle

U

Usunięty użytkownik pigers

Guest
Mam w Internecie serwer - chciałbym pobrać z niego pliki (za pomocą SSH) na QNAPa ale w Download Menadżerze nie widzę takiej opcji. Ktoś może ma jakieś rozwiązanie ?

Zależy mi na wykorzystaniu kluczy publicznych prywatnych, chociaż dam rade i bez tego.

Podpowiedzi mile widziane - jeśli miałby z tego powstać jakiś skrypt, to po testach chętnie się podzielę :)
 
Zainstaluj sobie screena (ipkg install screen), potem wejdz w folder gdzie chcesz sciagnac, odpalasz screena a w nim np. wgeta, czy co tam chcesz.
Mozesz potem normalnie zamknac konsole, a jak bedziesz chcial wrocic do pobierania to screen -x.
 
  • Like
Reactions: kaktus
A właśnie :) aria2 ;p Tylko czy jest dostępne aria2 z ipkg? Hmmm
Code:
[~] # ipkg list | grep aria2
aria2 - 1.14.2-1 - A utility for downloading files. The supported protocols are HTTP(S), FTP, BitTorrent  (DHT, PEX, MSE/PE), and Metalink.
W dodatku jest do tego Web-UI:
687474703a2f2f692e696d6775722e636f6d2f6b4f56465537622e706e67.png
Link: https://github.com/ziahamza/webui-aria2

aria2: http://aria2.sourceforge.net

Można zrobić z tego paczke QPKG. Jeśli ktoś znajdzie czas na odpalenie i spięcie obu to możemy to zamienić na paczke QPKG.
odpalasz screena a w nim np. wgeta
Bash:
screen wget http://host/file.zip
albo bez screena:
Bash:
wget http://host/file.zip &
 
  • Like
Reactions: kaktus
Guzik - pobiera plik w oknie!
I co z tego? Zamknij je.

Ale wget chce miec uzyszkodnika przy sobie bo bywa interaktywny, dlatego w momencie odpalania trzeba byc do screena zalogowanym :)
I nie bywa interaktywny (-q). Proszę przeczytać w google co oznacza & na końcu.

coś nie do końca:
apuu.sh_40nTl.jpg
A screen wam nie działa bo nie umiecie ustawić terma lub stworzyć mu tmp katalogu.

I proszę wrzucać obrazki w tagi IMG zamiast podawania linków.Proszę używać wget'a tak jak sugeruje @rithien:
Bash:
wget -b -o /dev/null -q --no-check-certificate http://address.com/link.zip

# lub korzystajac z aliasu
alias qget="wget -b -q --no-check-certificate -o /dev/null"
qget http://address.com/link.zip

Można też użyć metody asynchronicznej:
Bash:
wget -o /dev/null -q --no-check-certificate http://address.com/link.zip &

# lub korzystajac z aliasu
alias qget="wget -q --no-check-certificate -o /dev/null"
qget http://address.com/link.zip &


UWAGA!
A teraz wytłumaczę Wam czym jest & na końcu oraz co oznacza interaktywny.

- Operator ampersand "&"
Jeśli polecenie zakończone jest operatorem ampersand "&", to zostanie ono wywołane w asynchronicznym shellu(powłoce). A to oznacza, że proces ten, będzie działał w tle - niezależnie od tego czy obecna powłoka (o czym wspomina @juniorjpdj) zostanie zamknięta czy nie!
Jeśli natomiast dziwicie się, że STDOUT (komunikaty) są wyświetlane na obecnej powłoce, to tylko dlatego, że z niej zostało uruchomione polecenie. A więc w tym przypadku należy przekierować komunikaty komunikaty STDOUT oraz STDERR do /dev/null:
Bash:
# Ten tekst zostanie wyswietlony
echo "Hello world!"

# Ten zostanie przekierowany wraz z bledami do /dev/null
echo "Hello world!" 2>&1 >/dev/null
Jednak w przypadku wget'a, należy użyć parametr, który określi wyjście logów (o czym wspomina @rithien) do /dev/null lub do dowolnego pliku wyjściowego.
Code:
wget --no-check-certificate http://address.com/link.zip -o /dev/null

- Interaktywny
Słowo interaktywny oznacza, że program prowadzi interakcje z użytkownikiem. Czyli zadaje mu pytania i oczekuje odpowiedzi! W przypadku wget'a, aby nie był interaktywny należy zabezpieczyć się przed pytaniem potwierdzającym certyfikat dla linków https, używając parametru --no-check-certificate.

- wget argument "-q" (--quiet)
Argument quiet, oznacza, że wget ma być cichy i nie wysyłać komunikatów. Ale w przypadku użycia również argumentu -b, będzie tworzyć pusty plik, do którego zapisze wyłącznie błędy o ile takie się pojawią.

Dziękuje i proszę wszyscy szlifować podstawy unix'a.
Papapa
 
Last edited:

Users search this thread by keywords

  1. powłoka