cs:data-uploader
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
cs:data-uploader [2016/08/13 21:10] – roman | cs:data-uploader [2017/08/16 10:23] (aktuální) – [Postup aktualizace data-uploaderu z RMDS-data-uploaderu] kaklik | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
====== Systém pro upload měřených dat ze stanic ====== | ====== Systém pro upload měřených dat ze stanic ====== | ||
- | Pro upload naměřených dat ze stanic se využívá python program [[https:// | + | Pro upload naměřených dat ze stanic se využívá python program [[https:// |
- | Program při uploadování | + | Upload |
- | program se spouští s parametrem cesty ke konfiguračnímu souboru [[cs: | + | Program při nahrávání dat na server kontroluje celistvost přesunutého souboru pomocí kontrolních součtů a zároveň předá informaci do indexační databáze [[cs: |
- | ./repos/RMDS-data-uploader/ | + | |
+ | Celkově řeší tyto úlohy: | ||
+ | |||
+ | * Roztřídění [[cs: | ||
+ | * Upload dat na server [[http:// | ||
+ | * Kontrola volného místa na disku (zatím nevyřešeno) | ||
+ | |||
+ | Celý skript je připraven pro fungování s [[cs: | ||
+ | ./ | ||
+ | |||
+ | ======Instalace====== | ||
+ | |||
+ | Zdrojové soubory jsou umístěny na Githubu | ||
+ | |||
+ | Data-uploader vyžaduje tyto závislosti: | ||
+ | |||
+ | sudo apt install python-paramiko | ||
+ | |||
+ | Pomocné knihovny: | ||
+ | git clone https:// | ||
+ | cd python-mlab-utils/ | ||
+ | sudo python setup.py install develop | ||
+ | |||
+ | Skript stáhnete pomocí: | ||
+ | git clone https:// | ||
+ | cd data-uploader | ||
+ | |||
+ | Pak je uz jenom potreba mit spravne klicove vyrazy v Bolidozor.json | ||
+ | |||
+ | ==== Konfigurace ==== | ||
- | === Konfigurační soubor === | ||
Pro správné fungování data-uploaderu se musí do konfiguračního souboru radio-observeru přidat následující parametry: | Pro správné fungování data-uploaderu se musí do konfiguračního souboru radio-observeru přidat následující parametry: | ||
Řádek 17: | Řádek 45: | ||
" | " | ||
" | " | ||
- | | ||
- | dále se musí upravit skript pro automatické spuštění staničního softwaru: | ||
- | nano ~/ | ||
- | if ! pidof -x dataUpload.py > /dev/null; then | ||
- | ./ | ||
- | fi | ||
- | a stejným způsobem skript ''' | ||
- | killall dataUpload.py | ||
+ | ==== Omezení datového toku ==== | ||
- | Datau-ploader vyžaduje tyto závislosti: | + | V některých případech, |
- | + | ||
- | sudo apt install python-paramiko | + | |
- | === ruční start data-uploaderu === | + | trickle |
- | data-uploader lze spustit příkazem: | + | |
- | | + | |
- | <WRAP center round important 60%> | + | Funkci můžeme ověřit například programy bmon nebo iftop |
- | Následující popis je pro starší verzi [[https:// | + | |
- | </ | + | |
+ | sudo apt-get install bmon | ||
+ | ==== Postup aktualizace data-uploaderu z RMDS-data-uploaderu==== | ||
+ | | ||
+ | cd ~/repos/ | ||
+ | mv RMDS-data-uploader data-uploader | ||
+ | cd ~/ | ||
+ | git pull | ||
- | Pro přenos naměřených dat ze sítě [[cs: | + | cd ~/repos/station-supervisor/ |
- | Tento skript má na starosti následující záležitosti: | + | git pull |
- | | + | |
- | * Upload dat na server [[http:// | + | |
- | * Kontrola volného místa na disku (zatím nevyřešeno) | + | |
- | Celý skript je připraven pro fungování s [[cs:radio-observer|radio-observerem]] a [[cs:spectrumlab|SpectrumLabem]]. | + | Do konfiguračního souboru |
+ | |||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | |||
+ | " | ||
+ | |||
+ | " | ||
+ | { | ||
+ | " | ||
+ | "owner.login": | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
====Rozřazení dat do složek==== | ====Rozřazení dat do složek==== | ||
rozřazování probíhá na základě názvu původního souboru. Výsledná struktura pak vypadá následovně: | rozřazování probíhá na základě názvu původního souboru. Výsledná struktura pak vypadá následovně: | ||
- | | + | |
+ | | ||
Tato struktura ctí [[cs: | Tato struktura ctí [[cs: | ||
Řádek 63: | Řádek 104: | ||
====Upload dat na server==== | ====Upload dat na server==== | ||
- | Upload na centrální server | + | Upload na centrální server |
- | rsync -vaz cesta_do_zdrojove_slozke/ | + | Skript každé 2 minuty |
- | + | ||
- | parametry udávají: | + | |
- | * -v - výpis stavu synchronizace | + | |
- | * -a - archivační mód (data na stanici jsou vždy považována za správnou verzi) | + | |
- | * -z - komprese přenášených dat | + | |
- | + | ||
- | Skript každých 30 minut zkontroluje připojeni k internetu (dostupnost space.astro.cz) a v případě autentizace se spustí synchronizace dat pomocí rsync. Synchronizace probíhá postupně ve čtyřech krocích: | + | |
- Synchronizují se náhledy spektra (snapshoty) | - Synchronizují se náhledy spektra (snapshoty) | ||
Řádek 78: | Řádek 112: | ||
- Synchronizují se konfigurační soubory stanice | - Synchronizují se konfigurační soubory stanice | ||
- Synchronizují se záznamy meteorů RAW | - Synchronizují se záznamy meteorů RAW | ||
- | |||
- | Pokud poslední část trvá déle, než je nastavený časový limit, přenos je ukončen. | ||
- | Po uplynutích dalších 30ti minut skript roztřídí data do složek a spustí znovu synchronizaci. | ||
| | ||
- | ======Popis jednotlivých zdrojových kódů====== | ||
- | |||
- | ===DiskGuard.py=== | ||
- | |||
- | Tato část se bude starat o odstraňování dat z plného disku stanice. | ||
- | ===config.py=== | ||
- | konfigurační soubor pro stanici a RMDS-data-uploader. | ||
- | ===run.py=== | ||
- | spouštěcí skript stanice. | ||
- | stará se o pravidelné spouštění jednotlivých částí aplikace. | ||
- | |||
- | ===serversetup.py=== | ||
- | vytváří nové adresáře, pokud ještě neexistují. | ||
- | |||
- | ===sort.py=== | ||
- | Stará se o správné rozřazení do složek. | ||
- | |||
- | ===sync.py=== | ||
- | Spouští rsync příkaz a kontroluje dostupnost serveru space.astro.cz | ||
- | |||
- | |||
- | |||
- | ======Instalace====== | ||
- | |||
- | Celý skript je umístěn na Githubu [[https:// | ||
- | |||
- | Pomocné knihovny: | ||
- | git clone https:// | ||
- | cd python-mlab-utils/ | ||
- | sudo python setup.py install develop | ||
- | |||
- | Skript stáhnete pomocí: | ||
- | git clone https:// | ||
- | cd RMDS-data-uploader | ||
- | | ||
- | Pak je uz jenom potreba mit spravne klicove vyrazy v Bolidozor.json | ||
- | Skript se následně spustí: | ||
- | ./ |
cs/data-uploader.txt · Poslední úprava: 2017/08/16 10:23 autor: kaklik