Kirjoittaja Aihe: Automaattinen uuden tiedoston haku palvelimelle [Ratkaistu]  (Luettu 3064 kertaa)

karvanoppa

  • Käyttäjä
  • Viestejä: 51
    • Profiili
Terve.

Eli mahtaisko tällaiseen löytyä pätevää scriptiä miten saisin haettua ftp osoitteesta uusimman .zip tiedoston palvelimelle. Tälle tiedostolle ei tarvitse sen enempää tehdä mitään kuhan vaan tzekkaa esim. puolentunnin välein onko tullut uutta versiota tiedostosta? Tiedoston nimi muuttuu versio numeron muodossa.

Tämän scriptin pitäisi vielä tzekata onko tiedoston lataus jo päällä, koska kun uusi tiedosto saapuu jakoon niin yleensä pääjakaja menee todella tukkoon ja lataus voi kestää yli puolituntia. Myös tzekkaus kohtaan timeout on mahdollista.

Veikkaisin että crontabilla, wgetillä ja scriptaamisella tämän voisi toteuttaa?

Kiitän
« Viimeksi muokattu: 04.11.10 - klo:17.17 kirjoittanut karvanoppa »

retu

  • Käyttäjä
  • Viestejä: 949
    • Profiili
Vs: Automaattinen uuden tiedoston haku palvelimelle
« Vastaus #1 : 31.10.10 - klo:12.08 »
Jos käytät -N parametria, wget lataa tiedoston vain kun palvelimella on uudempi. Edellyttää siis että nimi ei muutu, joten ei varmaankaan auta mikäli versionumero kasvaa joka päivityksessä. Toisaalta, jos voit ladata koko hakemiston, se hakee uudet ja päivitetyt.

Ellei onnistu wgetillä kannattaa tutustua myös curl tai ncftp ohjelmiin.

karvanoppa

  • Käyttäjä
  • Viestejä: 51
    • Profiili
Vs: Automaattinen uuden tiedoston haku palvelimelle
« Vastaus #2 : 31.10.10 - klo:12.41 »
retu: kiitti vinkistä.

Tuli vielä lisää ongelmia. kohde osoiteessa (ftp) ei voi käyttää tiedosto listausta (dir/ls) :(

eli ajatus olisi tuolta saada ladattua aina kun ilmestyy uusi tiedosto niin palvelin ottaisi sen itselleen.

http://www.arma2.com/beta-patch.php

peran

  • Vieras
Vs: Automaattinen uuden tiedoston haku palvelimelle
« Vastaus #3 : 31.10.10 - klo:13.28 »
ftpcopy-paketissa on ftpls.

retu

  • Käyttäjä
  • Viestejä: 949
    • Profiili
Vs: Automaattinen uuden tiedoston haku palvelimelle
« Vastaus #4 : 01.11.10 - klo:17.10 »
Kurkkasin tuota sivua ja ajattelin ettei tuppisuinen ftp-palvelin haittaa, kun tarvittavat tiedostothan on listattu jo tuolla web-sivulla. Vaan ei se ihan niin menekään.
???
Kokeilin:
Koodia: [Valitse]
wget -r -N --follow-ftp -Ddownloads.bistudio.com http://www.arma2.com/beta-patch.phpNäköjään ftp-linkkejä ladatessa wget yrittää ajaa jostain syystä list komennon, mikä ei onnistu tuon palvelimen kanssa. Katsoin wget info sivua, josko tämän hölmöyden saisi jotenkin disabloitua, vaan enpä huomannut sellaista vipua.

Kuitenkin ftp-url:n perusteella se osaa ladata.
Koodia: [Valitse]
wget ftp://downloads.bistudio.com/arma2.com/update/beta/ARMA2_OA_Build_74123.zipToimii!

Ongelmat johtuvat varmaankin -r parametrista. Pitäisi siis: ladata ensin tuo etusivu, kaivaa siitä halutut ftp-linkit ja kutsua wget pelkän ftp-url:n kanssa. ;)

Ai niin, voihan senkin tehdä wget:llä:
Koodia: [Valitse]
wget http://www.arma2.com/beta-patch.php
wget -nc -Ddownloads.bistudio.com -Fi beta-patch.php
« Viimeksi muokattu: 01.11.10 - klo:17.32 kirjoittanut retu »

karvanoppa

  • Käyttäjä
  • Viestejä: 51
    • Profiili
Vs: Automaattinen uuden tiedoston haku palvelimelle
« Vastaus #5 : 02.11.10 - klo:08.36 »
Retu: tästä erittäin suuret kiitokset. Ei ois tullut ikään mieleenkään, että wget voi olla noin fiksu.  8)

Kiitos

Sitten seuraavaksi kehittäämään jotain scriptiä tuohon, jotta saisin sitä ajettua crontabilla.


karvanoppa

  • Käyttäjä
  • Viestejä: 51
    • Profiili
Vs: Automaattinen uuden tiedoston haku palvelimelle
« Vastaus #6 : 02.11.10 - klo:19.04 »
Tässä kun koitin väkertää, niin tosiaan tuli toi vastaan, että jos tiedoston lataus katkeaa niin tuolla komennolla en saanut sitä jatkamaan enää uudelleen samaa tiedosta. Koitin tota N ja r parametriä, mutta eipä tosiaan toiminut vaikka php tiedosto oli omalla koneella. Johtuu siis varmaan tosiaan tuosta kun ei anna listata toi FTP palvelin :(


karvanoppa

  • Käyttäjä
  • Viestejä: 51
    • Profiili
Vs: Automaattinen uuden tiedoston haku palvelimelle [Ratkaistu]
« Vastaus #7 : 04.11.10 - klo:17.23 »
Tosiaan tämä tuli ratkaistua

Scripti:
Koodia: [Valitse]
#!/bin/bash

#Tama scripti ajaa automaattisesti Arma2 beta tiedostot

cd /home/****/public_html/arma2/beta/
wget -N  http://www.arma2.com/beta-patch.php ~/public_html/arma2/beta/
wget -nc -D downloads.bistudio.com -Fi beta-patch.php

crontab -e
Koodia: [Valitse]
# m h  dom mon dow   command
30 * * * * /home/****/etsibeta

En tiedä onko kuinka oikein, mutta näyttää ainakin toimivan