Een map recursief downloaden via FTP op Linux

Ik probeer een map te ftpn met behulp van de opdrachtregel ftp-client, maar tot nu toe heb ik alleen ‘get’ kunnen gebruiken om individuele bestanden op te halen.


Antwoord 1, autoriteit 100%

Je zou kunnen vertrouwen op wget, dat normaal gesproken ftp get goed afhandelt (althans in mijn eigen ervaring). Bijvoorbeeld:

wget -r ftp://user:[email protected]/

Je kunt ook -mgebruiken die geschikt is voor spiegelen. Het is momenteel gelijk aan -r -N -l inf.

Als je speciale tekens in de gegevens van de inloggegevens hebt, kun je de argumenten --useren --passwordopgeven om het te laten werken. Voorbeeld met aangepaste login met specifieke tekens:

wget -r --user="[email protected]" --password="Pa$$wo|^D" ftp://server.com/

Zoals aangegeven door @asmaier, pas op dat zelfs als -rvoor recursie is, het een standaard maximaal niveau van 5 heeft:

-r
--recursive
    Turn on recursive retrieving.
-l depth
--level=depth
    Specify recursion maximum depth level depth.  The default maximum depth is 5.

Als u geen submappen wilt missen, kunt u beter de spiegeloptie gebruiken, -m:

-m
--mirror
    Turn on options suitable for mirroring.  This option turns on recursion and time-stamping, sets infinite
    recursion depth and keeps FTP directory listings.  It is currently equivalent to -r -N -l inf
    --no-remove-listing.

Antwoord 2, autoriteit 27%

Als aanvulling op het antwoord van Thibaut Barrère.

Ik gebruikte

wget -r -nH --cut-dirs=5 -nc ftp://user:[email protected]//absolute/path/to/directory

Let op de dubbele schuine streep achter de servernaam. Als je geen extra schuine streep plaatst, is het pad relatief ten opzichte van de homedirectory van de gebruiker.

  • -nHvermijdt het aanmaken van een directory met de naam van de server
  • -ncvermijdt het maken van een nieuw bestand als het al bestaat op de bestemming (het wordt gewoon overgeslagen)
  • --cut-dirs=5 staat toe om de inhoud van /absolute/path/to/directory te nemen en in de directory te plaatsen waar je wget start. Het getal 5 wordt gebruikt om de 5 componenten van het pad uit te filteren. De dubbele schuine streep betekent een extra component.

Antwoord 3, autoriteit 4%

ncftp -u <user> -p <pass> <server>
ncftp> mget directory

Antwoord 4, autoriteit 3%

Als lftpop uw computer is geïnstalleerd, gebruik dan mirror dir. En je bent klaar. Zie de opmerking van Ciro hieronder als je recursief een directory wilt downloaden.


Antwoord 5, autoriteit 3%

Als je scpkunt gebruiken in plaats van ftp, zal de optie -rdit voor je doen. Ik zou eens kijken of je een moderner mechanisme voor bestandsoverdracht kunt gebruiken dan FTP.


Antwoord 6, autoriteit 2%

Gebruik in plaats daarvan WGet. Het ondersteunt HTTP- en FTP-protocollen.

wget -r ftp://mydomain.com/mystuff

Veel succes!

referentie: http://linux.about.com/od/commands/ l/blcmdl1_wget.htm


Antwoord 7

Er is ‘ncftp’ dat beschikbaar is voor installatie in linux. Dit werkt op het FTP-protocol en kan worden gebruikt om bestanden en mappen recursief te downloaden. werkt op linux. Is gebruikt en werkt prima voor recursieve map-/bestandsoverdracht.

Controleer deze link… http://www.ncftp.com/


Antwoord 8

Als je kunt, raad ik je ten zeerste aan om taren bzip(of gzip, wat je boot ook drijft) de directory op de externe machine te gebruiken —voor een directory van enige significante omvang zal de bandbreedtebesparing waarschijnlijk de tijd waard zijn om te zippen/unzippen.


Antwoord 9

Als je je aan de opdrachtregel FTP wilt houden, moet je NcFTP proberen. Dan kun je get -R gebruiken om recursief een map op te halen. Je krijgt ook voltooiing.


Antwoord 10

wget -r ftp://url

Werkt perfect voor Redhat en Ubuntu


Antwoord 11

U mag ftpniet gebruiken. Net als telnetgebruikt het geen veilige protocollen en worden wachtwoorden in leesbare tekst verzonden. Dit maakt het voor derden heel gemakkelijk om uw gebruikersnaam en wachtwoord vast te leggen.

Als u externe mappen op afstand wilt kopiëren, zijn deze opties beter:

  • rsyncis de meest geschikte tool als je kunt inloggen via ssh, omdat het alleen de verschillen kopieert en gemakkelijk in het midden kan herstarten voor het geval dat de verbinding wordt verbroken.

  • ssh -ris de op één na beste optie om mapstructuren recursief te kopiëren.

Zie:


Antwoord 12

schakel de prompt in met het PROMPT-commando.

Gebruik:

ftp>cd /to/directory    
ftp>prompt    
ftp>mget  *

Other episodes