1 (edytowany przez firefox 2007-08-02 19:25:34)

Temat: webif + pobieranie FTP i WWW

znalazlem takie male ciekawe rozwiazanie :

http://forum.openwrt.org/viewtopic.php?id=9370

Dodalem jednego "if" ,ktory definiuje domyslny katalog :

if [ "$FORM_dest" = "" ]; then
  FORM_dest=/mnt/usb/download
fi

Zastanawiam sie jak mozna zrobic by wywolywany wget dzialal na screen.

screen -t 'echo "$FORM_pkg"' wget -c -P `echo "$FORM_dest"` `echo "$FORM_pkg" | sed -e 's, ,+,g'`
lub
screen -S 'echo "$FORM_pkg"' wget -c -P `echo "$FORM_dest"` `echo "$FORM_pkg" | sed -e 's, ,+,g'`

Niestety nie udalo mi sie, dostaje nastepujacy komunikat :
"Must be connected to a terminal."

To wydaje sie logiczne i zrozumiale. jak mozna ominac ten problem ??

Znalazlem opcje -T (screen -T) ale jaki tu podac terminal ?

a moze wyjsciem jest odpalenie screen pod konsola, a tu tylko odwolanie sie do tej sesji ??

Zalaczam cale oryginalne rozwiazanie :

#!/usr/bin/webif-page
<?
. /usr/lib/webif/webif.sh

header "Downloader" "System" "@TR<<Downloader>>" '' "$SCRIPT_NAME"
##################################################################
#
# Download from URL
#


! empty "$FORM_install_url" && {
    FORM_action="install"
    FORM_pkg="$FORM_url"
}


display_form <<EOF

start_form|@TR<<Download From URL>>
field|@TR<<URL of Package>>
text|url|$FORM_url
field|@TR<<Destinaition (/mnt)>>
text|dest|$FORM_dest
field|
submit|install_url|Download From URL |
end_form
EOF

# Block ends
##################################################################

?>

<?
echo "<pre>"
if [ "$FORM_action" = "install" ]; then
    echo "@TR<<Please wait>> ...<br />"
    wget -c -P `echo "$FORM_dest"` `echo "$FORM_pkg" | sed -e 's, ,+,g'`

fi
echo "</pre>"
?>
</pre>

<?
# todo: temporary fix for a display error in Opera
display_form <<EOF
start_form||||nohelp
end_form
EOF

footer ?>

<!--
##WEBIF:name:Downloader:0:Downloader
-->

2

Odp: webif + pobieranie FTP i WWW

Zobacz coś w rodzaju screen -mD wget ....

Tak swoją drogą po co Ci to w screenie, nie możesz tego po prostu w tło wrzucić (&)?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: webif + pobieranie FTP i WWW

jak odpale pod terminalem screen -S wget
potem ctl+a crtl+d
(screen detached)

to jak uzyje w skrypcie :
screen -r wget

a potem

wget ......

screen -d

to mam komunikat :

Must be connected to a terminal.
There is a screen on:
    22684.wget    (Detached)
There is no screen to be detached matching wget.

czyli ten sposob nie bardzo pomogl....

4 (edytowany przez firefox 2007-08-02 19:48:37)

Odp: webif + pobieranie FTP i WWW

no wlasnie  z tlem to wpadlem na ten pomysl, ale bardzo inteligentnie tongue
dalem wget .... & tongue

ale oprocz tego wszystko na screen big_smile
wiem, ze bez sensu smile

5 (edytowany przez firefox 2007-08-02 20:13:19)

Odp: webif + pobieranie FTP i WWW

w tle nie bardzo chce isc, pewnie cos zle napisalem :
wget -c -P `echo "$FORM_dest"` `echo "$FORM_pkg"` `echo "&"`

wystarczyloby chyba tak : wget -c -P `echo "$FORM_dest"` `echo "$FORM_pkg"` &

ale nie dziala, przeladarka www ciagnie bezposrednio

chodzi o to, zeby sie sciagalo jak zamkne karte w przegladarce WWW

no i trzeba bedzie badac czy plik juz nie zostal sciagniety, bo inaczej wget wywala bledy.
Ale z tym drugim nie bede mial raczej problemu.

6

Odp: webif + pobieranie FTP i WWW

wget -c -P `echo "$FORM_dest"` `echo "$FORM_pkg"` &

lub

(wget -c -P `echo "$FORM_dest"` `echo "$FORM_pkg"`) &

bez tego echo na końcu

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: webif + pobieranie FTP i WWW

myslalem ze pomoga nawiasy, ale mowie przegladarka zaciaga strone i to de facto przez nia ida dane
??

8

Odp: webif + pobieranie FTP i WWW

jakie dane? Wynik działania wgeta?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: webif + pobieranie FTP i WWW

tak, jakby wynik dzialania wgeta. bo sie sciaga, a jak zamkne strone, to przez ssh widze kawalek pliku, ten co sie zdazyl sciagac i nic wiecej i dalej sie nie sciaga.

10

Odp: webif + pobieranie FTP i WWW

Bo zamykając okno zabijasz proces wgeta. Powinieneś posłać wgeta w tło, ale wtedy stracisz możliwość podglądu procesu ściągania.

Zrób z tego dwa oddzielne procesy - jeden co ściąga  i jeden co wyświetla wyniki, nie będzie takiego problemu.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.