Toon posts:

Script om automatisch installatiebestanden mee te downloaden

Pagina: 1
Acties:

Onderwerpen


  • nuuwnhuusk
  • Registratie: Oktober 2009
  • Laatst online: 06-05 09:31
Goedendag,

Ik heb niet heel veel ervaring met Linux vandaar mijn vraag, ik heb momenteel een computer met daarop Ubuntu. Hiermee wil ik graag het volgende voor elkaar krijgen, dit omdat het internet hier erg langzaam is en ik installatiebestanden zo maar eens per dag/week hoef te downloaden.

- Automatisch een script starten op een bepaald tijdstip.
- Enkele installatieprogramma's van verschillende websites downloaden. (ccleaner en dergelijke)
- De bestanden van hun exotische naam ontdoen. (ccleaner_3232123 > ccleaner)
- Deze bestanden vervolgens op een samba share zetten.

Ik denk dat het met WGET mogelijk is, maar ik kan nergens vinden hoe dit programma omgaat met links die van tijd tot tijd veranderen door hogere versienummers e.d.

Alvast bedankt voor jullie tijd en moeite.

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 08-06 17:04

CAPSLOCK2000

zie teletekst pagina 888

nuuwnhuusk schreef op donderdag 16 juni 2011 @ 20:36:
Goedendag,

Ik heb niet heel veel ervaring met Linux vandaar mijn vraag, ik heb momenteel een computer met daarop Ubuntu. Hiermee wil ik graag het volgende voor elkaar krijgen, dit omdat het internet hier erg langzaam is en ik installatiebestanden zo maar eens per dag/week hoef te downloaden.
Op grond van de filenamen hier onder gok ik dat het om Windows gaat.
Als je echter linux-installatiebestanden wil downloaden kun je stoppen met zoeken, dat is al ingebouwd (ziet apt-get).
- Automatisch een script starten op een bepaald tijdstip.
Dat heet 'cron'
- Enkele installatieprogramma's van verschillende websites downloaden. (ccleaner en dergelijke)
- De bestanden van hun exotische naam ontdoen. (ccleaner_3232123 > ccleaner)
- Deze bestanden vervolgens op een samba share zetten.

Ik denk dat het met WGET mogelijk is, maar ik kan nergens vinden hoe dit programma omgaat met links die van tijd tot tijd veranderen door hogere versienummers e.d.
Dat doet het niet, wget is alleen een downloader. Zelf bestandsnamen verzinnen doet het niet. Ik geloof ook niet dat er alternatieven zijn die dat wel doen, je zal het zelf moeten programmeren.
(Of bv Sickbeard verbouwen, maar dat zal ook een flinke klus zijn).

This post is warranted for the full amount you paid me for it.


  • benoni
  • Registratie: November 2003
  • Niet online
nuuwnhuusk schreef op donderdag 16 juni 2011 @ 20:36:
- Deze bestanden vervolgens op een samba share zetten.
Oh, ik dacht al, waarvoor heeft ie ccleaner nog nodig als ie Linux draait? :P
- Automatisch een script starten op een bepaald tijdstip.
Zoek even op 'cronjob'. Normaal voeg je daarvoor een regel toe aan de 'crontab', waarmee je dan je script laat starten. Maar als je een map /etc/cron.daily hebt kun je daar ook je script in zetten, dan wordt ie elke nacht opgestart (als die gestart mag worden tenminste, daarvoor moet je de rechten van je scriptbestand goed zetten met 'chmod +x /etc/cron.daily/mijnscriptbestand').

Vertel ook even welke smaak Linux je draait, want bij sommige distributies heb je subtiele verschillen.
Ubuntu dus O-)
- De bestanden van hun exotische naam ontdoen. (ccleaner_3232123 > ccleaner)
- Deze bestanden vervolgens op een samba share zetten.
Zoiets bijvoorbeeld:
mv /tmp/download/ccleaner_* /mnt/sambaschijf/utils/ccleaner
Ik denk dat het met WGET mogelijk is, maar ik kan nergens vinden hoe dit programma omgaat met links die van tijd tot tijd veranderen door hogere versienummers e.d.
Ik denk dat je dan eerst met wget de html-pagina moet ophalen waar de link naar het bestand in staat, en dan met grep en sed de bestandsnaam er uit filteren.

  • nuuwnhuusk
  • Registratie: Oktober 2009
  • Laatst online: 06-05 09:31
Ik weet dat dit ik in ubuntu gebruik kan maken van apt-get, in Windows is het echter niet zo'n feest. Omdat hier behoorlijk wat pc's voor reparatie langskomen zou ik graag 1 maal op de dag automatisch installatiebestanden downloaden die ik vervolgens kan benaderen vanaf een share.

Crontab beantwoord inderdaad mijn eerste vraag, bedankt. Ik zal proberen wat meer informatie over grep en sed te vinden.

  • benoni
  • Registratie: November 2003
  • Niet online
Ik heb nog een voorbeeldje opgevist uit een scriptje dat ik voor zoiets gebruik:

code:
1
2
page="http://www.downloadsite.com/search.php?q=ccleaner"
link=`curl -s '$page' | grep -A 1 'download here:' | tail -n 1 | sed -r 's/^.*<a\.href="([^"]*).*$/\1/'`


Curl doet net zoiets als wget, alleen de in- en output gaat iets anders. Je kunt er ook wget voor gebruiken, maar dan moet je de parameters anders opgeven om de html-pagina naar de stdout te krijgen.

In dit voorbeeld wordt de opgehaalde html-pagina doorgegeven aan grep, die er de regel met 'download here:' uit vist en de regels die ervoor/na komen. Met 'tail -n 1' hou je alleen die laatste regel over. Die wordt weer door sed heen gehaald, die er de link uit zou moeten vissen die na '<a href=' komt. En dat resultaat gaat in de variabele $link. Ofzoiets. Ik heb het een beetje aangepast naar wat ik denk dat je zou kunnen toepassen, maar het is verder niet getest of zo :)


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee