Hirdetés
- hcl: Máté tíz pró
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- eBay-es kütyük kis pénzért
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Lalikiraly: Kinek milyen setupja van?
- Brogyi: CTEK akkumulátor töltő és másolatai
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
Új hozzászólás Aktív témák
-
válasz
olivera88 #2109 üzenetére
"Úgyhogy az első sor törölhető akkor ugye?"
Nem, ott meg kell adni a tokent, mert anélkül a jelek szerint nem megy, azért kapsz html file-t. Akkor azt visszarakom.
"Ezt hogy érted hogy size változó értékét felül írom? Mivel?"
A következő file méretével, amikor ott van egymás után sokszor a "size=" kezdetű sor, akkor minden sorban új értéket adsz a size-nak és csak a legutolsód ellenőrzöd.
"Amúgy nem így akartam megoldani, hanem úgy hogy szétbontom az összes fájl ellenőrzést, és berakom a letöltések után, nem mint most hogy a végén ellenőrzi az egészet csak."
Ami scriptet írtam, az így van, minden egyes file-t a letöltése után vizsgál meg, nem pedig egyben a végén.
"Meg ez hogy van beállítva? Hogy egyszerre töltse le az összes fájlt? Mert úgy nem lehet, vagyis lehet, de én fokozatosan akarom, mivel nem egyszerre frissülnek a szerveren a fájlok, hanem fokozatosan."
Vagyis várni akarsz az egyes file-ok letöltése után? Ha erről van szó, akkor azt a külső ciklusban gond nélkül megteheted:
for TO in 12 24 36 48 60 72 ; do
download_file "${TO}"
donehelyett az kell, hogy (ha pl. 10 percet akarsz várni):
for TO in 12 24 36 48 60 72 ; do
download_file "${TO}"
sleep 10m
done -
válasz
olivera88 #2107 üzenetére
Aha, ez így nagyon nem jó
Az alapvető hiba az, hogy a size változó függvényét simán felülírod anélkül, hogy az előző értékét vizsgálnád, aztán ha jó, akkor újra azonnal letöltöd, ha meg nem, akkor vársz és újra megnézed (az azóta nyilván változatlan file méretet
)
Megcsináltam belőle egy normális változatot (a tokent írd bele vissza, azt töröltem az eddigi hozzászólásaidból is, mert az szerintem nem publikus információ):
szerk: észrevettem benne egy kis hibát, javítottam
#!/bin/bash
# access token
TOKEN="__5yLVTdr-sGeHoPitnFc7TZ6MhBcJxuSsoZp6y0leVHU__"
# file size min and max values - if the file's size falls outside of this range it is considered faulty
MIN_SIZE="38797312"
MAX_SIZE="45088768"
# time range - how many hour's data a single file contains
RANGE=12
function download_file()
{
# end time
TO="$1"
# start time - it is calculated a little oddly
FROM=$((${TO}-${RANGE}))
if [ $FROM -gt 0 ] ; then
FROM=$(($FROM+1))
fi
# add leading zeroes if needed
FROM="$(printf "%02d" "${FROM}")"
RANGE="$(printf "%02d" "${RANGE}")"
# url of the data
URL="http://dcpc-nwp.meteo.fr/services/PS_GetCache_DCPCPreviNum?token=${TOKEN}&model=ARPEGE&grid=0.1&package=SP1&time=${FROM}H${TO}H&referencetime=$(date +'%Y-%m-%d')T${RANGE}:00:00Z"
# output file name
OUT_FILE="ARPEGE_SP1_${TO}H.grib2"
while true ; do
# get the file
wget "${URL}" -O "${OUT_FILE}"
# check the filesize
size=$(stat -c \%s "${OUT_FILE}" )
if [ $size -ge "${MIN_SIZE}" -a $size -le "${MAX_SIZE}" ] ; then
# size is OK, leave loop
break
else
# something went wrong, wait a little and retry
sleep 5m
fi
done
}
for TO in 12 24 36 48 60 72 ; do
download_file "${TO}"
done -
válasz
olivera88 #2105 üzenetére
A while-ok végén kimaradtak a done-ok, azt reklamálja.
A formázási lehetőség között van olyan, hogy "Programkód", kód beírásakor használd azt, mert az megőrzi a formázást meg a speciális karaktereket (szögletes zárójelek, meg zárójel elé tett kettőspontból sem lesz smiley).
-
olivera88
veterán
válasz
olivera88 #2104 üzenetére
Ez megoldva.
Egymás után beraktam ugyanezt többi fájlok nevével. És jó.
De lenne egy másik dolog.Ezt hogy kellene kijavítani h működjön?
#!/bin/sh
while true
dosize=$(stat -c \%s ARPEGE_SP1_12H.grib2)
size=$(stat -c \%s ARPEGE_SP1_24H.grib2)
if [ $size -lt 38797312 -o $size -gt 45088768 ]
then
# hiba, varj 5 percet
sleep 5m
# probald ujra
continue
fi
python /home/oliver/Magics_PCP_T_script/arpegepcpmslvhu_00_12.py
python /home/oliver/Magics_PCP_T_script/arpegepcpmslvhu_13_24.pySZERVER='x'
FELHASZNALO='x'
JELSZO='x'ftp -n -v $SZERVER << EOF
ascii
user $FELHASZNALO $JELSZO
prompt
cd ARPEGE
bin
send ARPEGEPCP06.png
send ARPEGEPCP12.png
send ARPEGEPCP18.png
send ARPEGEPCP24.pngEOF
while true
dosize=$(stat -c \%s ARPEGE_SP1_36H.grib2)
size=$(stat -c \%s ARPEGE_SP1_48H.grib2)
if [ $size -lt 38797312 -o $size -gt 45088768 ]
then
# hiba, varj 5 percet
sleep 5m
# probald ujra
continue
fipython /home/oliver/Magics_PCP_T_script/arpegepcpmslvhu_25_36.py
python /home/oliver/Magics_PCP_T_script/arpegepcpmslvhu_37_48.pySZERVER='x'
FELHASZNALO='x'
JELSZO='x'ftp -n -v $SZERVER << EOF
ascii
user $FELHASZNALO $JELSZO
prompt
cd ARPEGE
bin
send ARPEGEPCP30.png
send ARPEGEPCP36.png
send ARPEGEPCP42.png
send ARPEGEPCP48.pngEOF
while true
dosize=$(stat -c \%s ARPEGE_SP1_60H.grib2)
size=$(stat -c \%s ARPEGE_SP1_72H.grib2)
if [ $size -lt 38797312 -o $size -gt 45088768 ]
then
# hiba, varj 5 percet
sleep 5m
# probald ujra
continue
fipython /home/oliver/Magics_PCP_T_script/arpegepcpmslvhu_49_60.py
python /home/oliver/Magics_PCP_T_script/arpegepcpmslvhu_61_72.pySZERVER='x'
FELHASZNALO='x'
JELSZO='x'ftp -n -v $SZERVER << EOF
ascii
user $FELHASZNALO $JELSZO
prompt
cd ARPEGE
bin
send ARPEGEPCP54.png
send ARPEGEPCP60.png
send ARPEGEPCP66.png
send ARPEGEPCP72.png
exitEOF
Ezt a hibaüzenetet kapom így.
/Run_model3.sh: 120: ./Run_model3.sh: Syntax error: end of file unexpected (expecting "done")Ha kiszedem az EOF okat a feltöltés végéről akkor lefut a script de nem jó, mert invalid commandokat ir a többi python script futtatására.
-
Jester01
veterán
Új hozzászólás Aktív témák
- Google Chrome
- Spotify
- Formula-1
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- hcl: Máté tíz pró
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- Haditechnika, harcászat
- Robogó, kismotor
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- További aktív témák...
- BESZÁMÍTÁS! MSI B450 R7 3800X 16GB DDR4 512GB SSD RTX 2070 SUPER 8GB ZALMAN T7 FSP 650W
- REFURBISHED - Lenovo ThinkPad 40A9 docking station
- Gamer PC-Számítógép! Csere-Beszámítás! I7 6700 / Rog RX580 8GB / 32GB DDR4 / 500GB SSD
- SzinteÚJ! HP Elitebook 860 G10 i7-1355U 16GB 1000GB 16" FHD+ Gar.: 1 év
- Gamer PC-Számítógép! Csere-Beszámítás! I7 6700K / RTX 2060 6GB / 32GB DDR4 / 500 SSD
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest