bygga en nedladdning schemaläggare med lite programmering skicklighet

Vi älskar att ladda ner saker från internet, och det finns massor av stora nedladdning manager verktyg som vi kan använda för att schemalägga våra nedladdningar. Det kan bara vara lättare att använda en download manager, men det finns ingen skada i att utforska de verktyg som redan kommer med vår Ubuntu och göra fullt utnyttjande av det.

I denna artikel kommer vi att visa en inbyggd programvara i Ubuntu som vi kan använda för att ladda ner saker från internet med hjälp av wget. Ovanpå det vi kommer att visa dig hur du schemalägger nedladdningen använder Cron.

Wget är en fri mjukvara för att hämta filer med HTTP, HTTPS och FTP, de mest använda Internet-protokoll. Det är en icke-interaktivt kommandoradsverktyg, så det kan lätt anropas från skript, cron jobb, terminaler utan X-Windows support, etc.

Öppna terminalen och låt oss undersöka hur vi kan använda wget för att hämta saker från nätet. Den grundläggande syntaxen för att hämta med wget är följande

wget [alternativ] … [URL] …

Detta kommando kommer att ladda ner wget manualen till din lokala enhet

wget http://www.gnu.org/software/wget/manual/wget.pdf

Ubuntu kommer med en cron demonen som används för schemaläggning av aktiviteter som ska utföras vid en viss tidpunkt. Crontab kan du ange åtgärder och tider som de ska utföras. Detta är hur du normalt skulle schemalägga en uppgift med hjälp av kommandoraden verktyg.

Öppna ett terminalfönster och skriv in crontab -e.

Var och en av sektionerna i en crontab är åtskilda av ett utrymme, med den sista delen har ett eller flera utrymmen i det. En cron inträde består av minut (0-59), timme (0-23, 0 = midnatt), dag (1-31), månad (1-12), veckodag (0-6, 0 = söndag), kommando. Den tredje posten i ovan nedladdningar crontab wget.pdf vid 02:00. Den första posten (0) och den andra posten (2) betyder 02:00. Den tredje till femte posten (*) betyder som helst på dygnet, månad eller vecka. Den sista posten är wget kommandot för att ladda ner wget.pdf från den angivna webbadressen.

Det är den grundläggande på wget och hur Cron fungerar. Låt oss ta en byte på en verklig exempel på hur man kan planera en nedladdning.

Vi kommer att ladda ner Firefox 3.6 på två AM.Since vår ISP ger endast en begränsad mängd data, måste vi stoppa nedladdning på 8:00. Detta är vad installationen ser ut.

Ignorera de första 2 poster i ovanstående crontab. Den tredje och fjärde kommandot är de enda 2 kommandon som du behöver. Det tredje kommandot setup en uppgift som kommer att hämta Firefox vid 02:00

[Code]; 0 2 * * * wget -c http://download.mozilla.org/?product=firefox-3.6.6&os=win&lang=en-GB;[/code]

-C Alternativ anger att wget ska återupptas den befintliga nedladdning om det inte har slutförts.

Den fjärde kommandot stoppar wget vid 08:00. “Killall” är en Unix kommando som döda processer med namn.

[Code]; 0 8 * * * killall wget, [/ code]

Den killall wget berättar Ubuntu att stoppa wget från nedladdningen på 8:00.

1. Ange katalogen för att ladda ner en fil

[Code], wget -utgången-dokument = / home / zainul / Downloads / wget manual.pdf http://www.gnu.org/software/wget/manual/wget.pdf;[/code]

alternativet -utgången-dokument kan du ange katalogen och namnet på den fil som du laddar ner

2. Ladda ner en webbplats

wget är också kapabel att ladda ner en webbplats.

[Code], wget -m http://www.google.com/profiles/zainul.franciscus;[/code]

Ovanstående kommando kommer att ladda ner hela min profil i Google webbsida. Alternativet “-m” berättar wget för att ladda ner en “spegel” bild av den angivna webbadressen.

En annan viktig möjlighet är att berätta wget hur många länkar bör det följer när den hämtar en hemsida.

[Code], wget -r -L1 http://www.google.com/profiles/zainul.franciscus;[/code]

Ovanstående wget kommando använder två alternativ. Det första alternativet “-r” berättar wget för att ladda ner den angivna webbplatsen rekursivt. Det andra alternativet -L1 “berättar wget att bara få den första nivån av länkar från den angivna webbplatsen. Vi kan ställa upp till tre nivå “-L2” och “-L3”.

3. Att ignorera robot inträde

Webmastern upprätthålla en textfil med namnet Robot.txt. “Robot.txt” föra en förteckning över URL som en webbsida sökrobot såsom wget inte krypa. Vi kan berätta wget att ignorera “Robot.txt” med “-erobots = off” alternativet. Följande kommando berättar wget för att hämta den första sidan i min profil i Google och ignorera “Robot.txt.

[Code], wget -erobots = off http://www.google.com/profiles/zainul.franciscus;[/code]

Ett annat användbart alternativ är -U. Detta alternativ kommer att maskera wget som en webbläsare. Notera att maskera en ansökan som en annan applikation kan bryta begreppet och service av en webbtjänst leverantör.

[Code], wget -erobots = off -U Mozilla http://www.google.com/profiles/zainul.franciscus;[/code]

Wget är en mycket gammal skola ännu hacka GNU mjukvara som vi kan använda för att ladda ner filer. Wget är ett interaktivt kommandoradsverktyg vilket innebär att vi kan låta det gå på vår dator i bakgrunden utan att behöva starta något program. Kolla in wget manualsidan

[Code]; $ man wget, [/ code]

att förstå andra alternativ som vi kan använda med wget.

Wget Manual, Hur man kombinerar två nedladdade filer När wget misslyckas halvvägs, Linux QuickTip: Hämta och Un-tjärbildning i ett steg

Var skulle filen laddas ner till om du kör dessa kommandon?

Jag har undrar om det ett tag nu, skulle vara häftigt om någon visste 🙂

Mycket kärlek, Martin

@Martin Vi kan ange var vi vill sätta vår nedladdning av med alternativet -utgången-dokument.

Exempel

wget -utgången-dokument = [download location] http://download.mozilla.org/?product=firefox-3.6.6&os=win&lang=en-GB

Obs: Byt [hämtningsplats] med hela sökvägen till en katalog.

Skål

hur man laddar ner från webbplatser som kräver godkännande konto, såsom Rapidspremiumkonto, Ziddu osv. ???

Bara försökte ändra dina instruktioner lite att arbeta på det sätt jag arbetar. Det finns flera ISOs som jag försöker ladda ner från tid till annan så jag skapade en textfil för att hålla dem “wget-stuff” och sätta det i schemaläggaren som så “wget ​​-c -i wget-saker” och ställ in den att köra varje två timmar. Varför två timmar du kan fråga,? Och jag är glad att du gjorde 🙂 … Tja, är det för att jag ibland stoppa alla wget processerna manuellt när min internetuppkoppling blir långsam. Och så kanske jag glömmer att starta dem igen.

Men jag fann att (om jag inte döda wget processer) wget gör något mycket egendomligt. Det tycker om att lägga till extra data till en fil om den är inställd på att börja på en fil som en annan wget instans redan arbetar med. Till exempel, om du har en 600meg fil som wget arbetar med, och sedan startar en ny instans av wget inriktade på samma fil i samma katalog, kan du sluta med en 800meg fil eller mer beroende på när den ytterligare instans av wget var inställd på att köra och hur lång tid det tog. Uppenbarligen den färdiga filen visar sig vara skräp.

Ok väl jag slutligen räknat ut en lösning. Jag använder inte aria2c istället för wget. Det har inte de hangups som jag har stött på i wget och det fungerar i alla samma sätt som materia och nya sätt att verkligen förbättra saker, som att kunna ladda ner från två resurser och föra den alla tillsammans igen. Tja, jag är för trött för att tänka på ett bättre sätt att säga det, men du kommer att se vad jag menar om du prova det (eller läsa manualsidan).

Hoppas detta hjälper någon annan ut. Det här tog mig timmar att gå igenom 🙂

Den esophagi av Giant Squids passera genom ett hål i deras donut-formade hjärnor innan de når sina magar.