[MEGKERULVE :) ] curl site mirror

Gondoltam, wgetrol atterek curl-ra/-re, az ftps miatt. Csakhogy, ez a parancs:
wget -m URL szepen leszedi az egesz site-ot (megadhato rekurzio melyseg meg ilyen nyalanksagok),ez a parancs:
curl -k --ftp-ssl -u USER:PASS ftp://site.com/directory
csak a directory-t listazza, a
curl -k --ftp-ssl -u USER:PASS ftp://site.com/directory/* pedig abszolute nem mukodik.

Egyszeruen nincs otletem, hogyan lehetne megmondani a curl-nak/-nek, hogy egy dir tartalmat toltse le. (mas cronbol futtathato, ftps-t ismero proggi is jo lehet...)

Hozzászólások

Hat ha ssl ftprol akarsz tolteni(ha jol ertem), van par command lineos ftp kliens is.

lftp mondjuk?

Ez tuti tud ssl ftp-t es eleg jopofa, es van benne mirror is.

Koszi. curlmirror sajna csak http-t tud (ftp-t nem fogadta el).

Gugli nekem is jo baratom, csak most nemigen volt ra idom, hoyg utananezzek, melyik programbol mi hianyzik (es 2008 vegen miert nem tud egy site mirror proggi ftps-t, masik proggi megg mirrort. Jelenleg mukodo megoldas kellett, nem keresgetes. )

Meg megnezem az utolso javaslatot is, aztan visszaterek az lftp-re (ahol tenyleg hasznos a google://"lftp ftps mirror", mert az sem akar mukodni, de a talalatok alapjan nemcsak nalam...)

Amugy nagyon sok belso beallitasa van, erdemes elolvasni a manualjat.

De a lenyeg roviden:


       -d     Switch on debugging mode

       -e commands
              Execute given commands and don't exit.

       -p port
              Use the given port to connect

       -u user[,pass]
              Use the given username and password to connect

       -f script_file
              Execute commands in the file and exit

       -c commands
              Execute the given commands and exit

Van egy serverem, lisa, le akarom tolteni a drone konyvtarat, illetve mindent ami benne van:
Userem superfly, jelszavam pedig lftprulez

lftp -e "mirror drone" -usuperfly,lftprulez lisa

Ertem en, az esetek 90%-ban google meg man, de most idonkent van ra (kb.) heti feloram, hogy megprobaljam mukodesre birni. Arra meg megeskudtem, hoyg otthon, szabadidomben _nem_ fogok megoldast keresni. Tul sokszor csinaltam eddig. Marad az, hogy probalok segitseget kerne olyanoktol, akik mar jartak ebben a cipoben.

Es persze nem birtam ki, itthon tovabb szorakoztam. Vegulis gftp lett a megfelelo.
Alig par dolgot kellett megoldanom:

1. Binaris deb-ben nincs SSL, ujat kellett forditani.

2. Ha az alabbi opciokkal:
"/configure --disable-gtk20 --disable-gtkport --disable-glibtest --disable-gtktest "
forditottam, akkor a make hibat dobott, vmi UTF-8-ra hivatozva. Nem volt kedvem megnezni, hogy mi okozza a hibat, inkabb csinaltam belole deb csomagot az itthoni gepemen, ahol van X, gtk meg anyamtyukja. Aztan csak a gftp-common es a gftp-text ment fel a celgepre.

3. /home/$USER/.gftp/gftprc file-ban
verify_ssl_peer=0 (selfsigned a cert, igy mindig hibat dobott es lekapcsolt.)

Es megy :)
gftp -d ftp://user:pass@site/konyvtar
letolti a konyvtar tartalmat szepen :)
Azt nem tudom, hogy nezi-e, mi van meg, vagy az egeszet ujra lerangatja,
de most mindegy is, januar 5-ig kibirja, akkor ujra nekilatok az lftp megoldasnak, de addig is, ez igy megy.
(ez a -d nem szerepel a man-ban, a gftp honlapjan , a faq reszben talaltam, csak gftp-text modban mukodik)

UPDATE: A feluliras/folytatasra _mindig_ rakerdez, ez ugye cronbol nem tul jo dolog. Igy ezt csinaltam:

echo "R" | gftp satobbi...
Igy szepen folytatja. Szoval, reszemrol megoldva.

Oke, itt van:
./configure --disable-gtk20 --disable-gtkport --disable-glibtest --disable-gtktest --disable-nls

(Probaltam --disable-nls-sel es analkul, tokugyanaz, make eseten itt a hiba)

make all-recursive
make[1]: Entering directory `/usr/local/src/gftp-2.0.19'
Making all in docs
make[2]: Entering directory `/usr/local/src/gftp-2.0.19/docs'
Making all in sample.gftp
make[3]: Entering directory `/usr/local/src/gftp-2.0.19/docs/sample.gftp'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/usr/local/src/gftp-2.0.19/docs/sample.gftp'
make[3]: Entering directory `/usr/local/src/gftp-2.0.19/docs'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/usr/local/src/gftp-2.0.19/docs'
make[2]: Leaving directory `/usr/local/src/gftp-2.0.19/docs'
Making all in intl
make[2]: Entering directory `/usr/local/src/gftp-2.0.19/intl'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/local/src/gftp-2.0.19/intl'
Making all in lib
make[2]: Entering directory `/usr/local/src/gftp-2.0.19/lib'
Making all in fsplib
make[3]: Entering directory `/usr/local/src/gftp-2.0.19/lib/fsplib'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/usr/local/src/gftp-2.0.19/lib/fsplib'
make[3]: Entering directory `/usr/local/src/gftp-2.0.19/lib'
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I../intl -DSHARE_DIR=\"/usr/local/share/gftp\" -DLOCALE_DIR=\"/usr/local/share/locale\" -MT charset-conv.o -MD -MP -MF ".deps/charset-conv.Tpo" -c -o charset-conv.o charset-conv.c; \
then mv -f ".deps/charset-conv.Tpo" ".deps/charset-conv.Po"; else rm -f ".deps/charset-conv.Tpo"; exit 1; fi
charset-conv.c:234: error: conflicting types for 'gftp_string_to_utf8'
gftp.h:672: error: previous declaration of 'gftp_string_to_utf8' was here
charset-conv.c:242: error: conflicting types for 'gftp_string_from_utf8'
gftp.h:677: error: previous declaration of 'gftp_string_from_utf8' was here
charset-conv.c:249: error: conflicting types for 'gftp_filename_to_utf8'
gftp.h:681: error: previous declaration of 'gftp_filename_to_utf8' was here
charset-conv.c:257: error: conflicting types for 'gftp_filename_from_utf8'
gftp.h:685: error: previous declaration of 'gftp_filename_from_utf8' was here
make[3]: *** [charset-conv.o] Error 1
make[3]: Leaving directory `/usr/local/src/gftp-2.0.19/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/gftp-2.0.19/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/gftp-2.0.19'
make: *** [all] Error 2