[linux] Opzoek naar parallelle command line ftp client

Pagina: 1
Acties:

  • IceM
  • Registratie: Juni 2003
  • Laatst online: 14-02 16:19
Goedendag allemaal,

Voor een kleine applicatie ben ik op zoek naar een command line ftp client die werkt op linux.
Er zitten nogal wat eisen aan, ik heb ook geen idee of zoiets bestaat.

Wat het moet kunnen:

- SSL/TLS verbindingen
- Runnen vanaf de command line, via bash
- Naar meerdere ftp's tegelijk connecten
- parrallel een commando uitvoeren op alle open verbindingen en als het mogelijk is het commando niet uitvoeren als een ftp server down is
- Optioneel: een bestand met commando's uitvoeren
- Optioneel: Output van bepaalde commando's in een bestand dumpen

De beste die ik tot nu toe ben tegen gekomen is lftp.
Het kan veel aan, ook meerdere connecties, maar het kan niet parralel een commando uitvoeren, wat een must is.
Hij moet dus volledig via de command line werken, niet met ncurses of iets dergelijks.

Zoals eerder gezegt, ik weet niet of het er is, maar mocht het er zijn graag een zetje in de goede richting. :)

...


Verwijderd

Als het enkel is om files te downloaden, kan je misschien curl gebruiken ? (http://curl.haxx.se/)

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 20:59

odysseus

Debian GNU/Linux Sid

Wat je zou kunnen doen is meerder instanties van lftp gebruiken. Je start bijvoorbeeld twee instanties die je elk met -f een bestand met commando's meegeeft. Dit moet geen gewoon bestand zijn, maar een fifo. Vervolgens start je een klein scriptje (kan heel kort zijn, bijvoorbeeld 'for i in a b c d; do echo "pwd" $i; done', waarbij a, b, c en d de fifo's zijn) waarin je alle commando's verstuurt naar de fifo's. Op die manier moet het denk ik wel lukken om parallel (of bijna parallel - het zal misschien een milliseconde schelen, maar dat houd je toch wel) commando's uit te voeren in meerdere verbindingen :).

[ Voor 6% gewijzigd door odysseus op 13-01-2005 19:30 . Reden: 'pipe' => 'fifo' ]

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • IceM
  • Registratie: Juni 2003
  • Laatst online: 14-02 16:19
Nee, juist niet om het downloaden van files, maar om een aantal dingen te controleren, en om een ftp commando te geven die op elke server tegelijk aankomt.

Edit:

Een pipe, dat is toch iets als: ./lftp -f .... | nogeending
of begrijp ik je nu verkeerd?
Zou je anders een klein voorbeeldje kunnen geven?

[ Voor 34% gewijzigd door IceM op 13-01-2005 19:31 ]

...


Verwijderd

Pftp kan dat allemaal maar werkt niet met een command line, wel werkt het vanuit bash. Het kan wel ssl/tls verbindingen aan, meerdere ftp's open hebben en naar alle ftp's hetzelfde commando sturen.

http://pftp.net voor meer info.

[ Voor 13% gewijzigd door Verwijderd op 13-01-2005 19:34 ]


  • IceM
  • Registratie: Juni 2003
  • Laatst online: 14-02 16:19
Ik weet dat pftp/pftpfxp-mew het kan, maar het is nu net niet de bedoeling dat het via ncurses gaat, het moet echt via bash/command line

...


  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 20:59

odysseus

Debian GNU/Linux Sid

IceM schreef op donderdag 13 januari 2005 @ 19:30:
Een pipe, dat is toch iets als: ./lftp -f .... | nogeending
of begrijp ik je nu verkeerd?
Zou je anders een klein voorbeeldje kunnen geven?
Ik had 'pipe' staan, maar 'fifo' is eigenlijk een beter woord hiervoor - een pipe is eigenlijk een speciale vorm van een fifo-queue (fifo = first in, first out). Wat je kunt doen is het volgende:
code:
1
2
3
mkfifo test
cat test &
echo "hoi" > test

Je zult zien dat cat niet zoals je misschien verwacht een leeg bestand print en direct weer klaar is, maar dat het programma blijft draaien. Met behulp van redirection kan je alles wat je maar wilt in de fifo gooien en het komt er dan 'aan de andere kant' (in jouw geval bij lftp) weer uit. Op die manier kan je heel makkelijk elk programma dat alleen commando's leest uit een file toch een soort variabele invoer laten gebruiken. In jouw geval zou je prima naar meerdere fifo's kunnen schrijven die allemaal bij een andere lftp-sessie horen en zo parallel commando's uit kunnen voeren :).

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • IceM
  • Registratie: Juni 2003
  • Laatst online: 14-02 16:19
Ik denk dat dat exact is waar ik naar opzoek was, zeer veel dank :)

...

Pagina: 1