-
PROHARDVER!

Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
olivera88
#9244
üzenetére
Na, most volt pár percem, ki tudtam próbálni, úgyhogy bepötyögtem neked egy rövid megoldást.
Így értettem (nem fogalmaztam jól), hogy 1 nap négyféle referencetime fordulhat elő az alapján, amit írtál:2015-11-04T00:00:00Z
2015-11-04T06:00:00Z
2015-11-04T12:00:00Z
2015-11-04T18:00:00ZHogy az adott napon az aktuális frissebbet mindig le tudd tölteni (feltételezve, hogy mindig rendelkezésre áll a szerveren az adott referencetime-mal ellátott fájl), itt egy egysoros, ez megoldja:
current_hour=$(date '+%k'); let result=($current_hour/6)*6; referencetime="$(date '+%Y-%m-%d')T$(printf "%02d" $result):00:00Z"; wget --content-disposition "http://dcpc-nwp.meteo.fr/services/PS_GetCache_DCPCPreviNum?token=__5yLVTdr-sGeHoPitnFc7TZ6MhBcJxuSsoZp6y0leVHU__&model=ARPEGE&grid=0.1&package=SP1&time=00H12H&referencetime=$referencetime"
Ha ki akarod rakni egy scriptbe, ami határozottan jobb megoldás lenne (a one-liner magic nem túl áttekinthető), akkor szétbontva (adj a scriptednek futtatási jogot (chmod +x fájlnév), úgy már mehet):
#!/bin/bash
current_hour=$(date '+%k')
let result=$current_hour/6*6
referencetime="$(date '+%Y-%m-%d')T$(printf "%02d" $result):00:00Z"
url="http://dcpc-nwp.meteo.fr/services/PS_GetCache_DCPCPreviNum?token=__5yLVTdr-sGeHoPitnFc7TZ6MhBcJxuSsoZp6y0leVHU__&model=ARPEGE&grid=0.1&package=SP1&time=00H12H&referencetime=$referencetime"
wget --content-disposition "$url"Röviden annyi a lényeg, hogy mivel csak T00, T06, T12 és T18 fordulhat elő, megnézzük, hogy az aktuális időhöz képest melyiket hagytuk már el (a 00 nyilván éjfél, 06 a hajnali 6, 12 dél, 18 este 6), két számjegyűre alakítjuk (pl. ne T6 legyen, hanem T06), aztán összepakoljuk a komplett stringet, és letöltjük. A wget --content-disposition paramétere épp azt oldja meg, hogy a fájlnév helyes legyen, ne forduljon elő az a probléma, amit itt említettem (hogy a fájlnév megegyezik az URL-ben szereplő résszel, legyen az a fájlnév, amit a szerver a böngészőnek is ki akar szolgálni).
(Biztos lehet szebben is, most ennyi idő alatt ez jött ki.)
-
válasz
olivera88
#9244
üzenetére
ha lehet fixre venni a dátumok változását, vagy legalább elég pontosan becsülni, akkor nem kunszt a probléma.
a date parancs tud nem aktuális időpontra dátumot kreálni, tehát ha tudod, hogy pl. este 10-kor már biztosan ott van az aktuális jelentés, akkor csinálhatsz ilyet:
wget "http://blabla$(date -d '5 hours ago' '+%Y-%m-%dT%H-00-00')blabla.html"
most arra próbálok célozni, hogyha hat órás intervallumokban jön a jelentés, amely hat órának az elején még nem biztos, hogy kint van, de mondjuk az utolsó egy órában biztosan kint van, akkor a fenti paranccsal este 11 és éjfél között bármikor le tudod szedni a 18 órai jelentést, és így tovább.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Azonnali fáradt gőzös kérdések órája
- Milyen okostelefont vegyek?
- Horgász topik
- Direct One (műholdas és online TV)
- PlayStation 5
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- PayPal
- Luck Dragon: Asszociációs játék. :)
- Fejhallgató erősítő és DAC topik
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...
- Samsung Galaxy S22 Ultra 12/256GB Phantom Black, fóliás új állapot, Regalaxy
- Keressek intel i7-i9!!
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/1TB FHD IPS
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/512GB FHD IPS
- Dell PowerEdge T110 II PC, Xeon E3-1220 v2 CPU, 32 GB DDR3 RAM, 2 x 1 TB SAS HDD
- HIBÁTLAN iPhone 13 mini 128GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3050, 100% Akkumulátor
- GeForce RTX 2060 (OEM HP) Garanciával
- BESZÁMÍTÁS! MSI B450 R7 5700X 32GB DDR4 512GB SSD RTX 3080 10GB Zalman Z1 Plus Cooler Master 750W
- ÁRGARANCIA! Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
- Huawei P20 Pro / 6/128GB / Kártyafüggetlen / 12Hó Garancia
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest



