Ws2009ba-i-5.datenbank
Aus Labor für Echtzeitsysteme
Version vom 15:17, 4. Nov. 2009 (bearbeiten) Stephan S. (Diskussion | Beiträge) (→Präsentation der Datenbank) ← Zum vorherigen Versionsunterschied |
Aktuelle Version (16:50, 2. Dez. 2009) (bearbeiten) (rückgängig) David (Diskussion | Beiträge) (→Status:) |
||
(Der Versionsvergleich bezieht 31 dazwischen liegende Versionen mit ein.) | |||
Zeile 1: | Zeile 1: | ||
=Team log= | =Team log= | ||
==TODO== | ==TODO== | ||
- | + | ===Status:=== | |
- | + | {| class="wikitable sortable" border=1 | |
- | * | + | |- |
- | + | ! Ort !! Gebiet !! Nr. !! Messung !! MIS(Gruppe) !! Status | |
- | + | |- | |
- | + | | MG || I(nnenstadt) || 1 || - || 6 || siehe Checkliste mg_i016m | |
- | + | |- | |
- | + | | MG || I(nnenstadt) || 2 || - || 6 || siehe Checkliste mg_i026m | |
- | + | |- | |
- | * | + | | MG || I(nnenstadt) || 3 || - || 4 || siehe Checkliste mg_i036m |
- | + | |- | |
- | + | | MG || I(nnenstadt) || 4 || - || 6 || siehe Checkliste mg_i046m | |
- | + | |- | |
- | + | | MG || I(nnenstadt) || 5 || - || 6 || siehe Checkliste mg_i056m | |
- | + | |- | |
- | + | | MG || I(nnenstadt) || 6 || - || 4 || siehe Checkliste mg_i066m | |
- | * | + | |- |
- | + | | MG || W(ohngebiet) || 1 || - || 5 || style="background:green" | In DB mg_w01_5m | |
+ | |- | ||
+ | | MG || W(ohngebiet) || 2 || - || 5 || nicht in DB mg_w02_5m | ||
+ | |- | ||
+ | | MG || W(ohngebiet) || 3 || - || 5 || style="background:green" | In DB mg_w03_5m | ||
+ | |- | ||
+ | | MG || W(ohngebiet) || 4 || - || 5 || siehe Checkliste mg_w04_5m | ||
+ | |- | ||
+ | | MG || W(ohngebiet) || 5 || - || 5 || style="background:green" | In DB w_05_6_m | ||
+ | |- | ||
+ | | MG || W(ohngebiet) || 6 || - || 5 || style="background:green" | In DB w_05_6_m | ||
+ | |- | ||
+ | | MG || W(ohngebiet) || 7 || - || 5 || | ||
+ | |- | ||
+ | | MG || W(ohngebiet) || 8 || - || 5 || | ||
+ | |- | ||
+ | | MG || W(ohngebiet) || 9 || - || 5 || | ||
+ | |- | ||
+ | | MG || W(ohngebiet) || 10 || - || 5 || | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 1 || M(ittag) || 4 || siehe Checkliste mg_g014m | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 1 || A(bend) || 4 || siehe Checkliste mg_g014a | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 1 || W(ochenende) || 4 || siehe Checkliste mg_g014w | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 2 || M(ittag) || 4 || style="background:green" | In DB mg_g024m | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 2 || A(bend) || 4 || style="background:green" | In DB mg_g024a | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 2 || W(ochenende) || 4 || style="background:green" | In DB mg_g024w | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 3 || M(ittag) || 1 || style="background:green" | In DB mg_g031m | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 3 || A(bend) || 1 || siehe Checkliste mg_g031a | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 3 || W(ochenende) || 1 || siehe Checkliste mg_g031w | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 4 || M(ittag) || 1 || siehe Checkliste mg_g041m | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 4 || A(bend) || 1 || siehe Checkliste mg_g041a | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 4 || W(ochenende) || 1 || siehe Checkliste mg_g041w | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 5 || M(ittag) || 1 || siehe Checkliste mg_g051m | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 5 || A(bend) || 1 || style="background:green" | In DB mg_g051a | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 5 || W(ochenende) || 1 || style="background:green" | In DB mg_g051w | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 6 || M(ittag) || 1 || siehe Checkliste mg_g061m | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 6 || A(bend) || 1 || siehe Checkliste mg_g061a | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 6 || W(ochenende) || 1 || siehe Checkliste mg_g061w | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 7 || M(ittag) || 5 || | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 7 || A(bend) || 5 || | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 7 || W(ochenende) || || | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 8 || M(ittag) || || | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 8 || A(bend) || || | ||
+ | |- | ||
+ | | MG || G(ewerbegebiet) || 8 || W(ochenende) || || | ||
+ | |- | ||
+ | | KR || I(nnenstadt) || 1 || - || 2 || style="background:green" | In DB kr_i02m | ||
+ | |- | ||
+ | | KR || I(nnenstadt) || 2 || - || 2 || | ||
+ | |- | ||
+ | | KR || I(nnenstadt) || 3 || - || 4 || | ||
+ | |- | ||
+ | | KR || I(nnenstadt) || 4 || - || 5 || | ||
+ | |- | ||
+ | | KR || I(nnenstadt) || 5 || - || 6 || | ||
+ | |- | ||
+ | | KR || I(nnenstadt) || 6 || - || 6 || | ||
+ | |- | ||
+ | | KR || W(ohngebiet) || 1 || - || 2 || Manipuliert - siehe Checkliste kr_w012m | ||
+ | |- | ||
+ | | KR || W(ohngebiet) || 2 || - || 2 || style="background:green" | In DB kr_w022m | ||
+ | |- | ||
+ | | KR || W(ohngebiet) || 3 || - || 2 || siehe Checkliste kr_w032m | ||
+ | |- | ||
+ | | KR || W(ohngebiet) || 4 || - || 2 || style="background:green" | In DB kr_w042m | ||
+ | |- | ||
+ | | KR || W(ohngebiet) || 5 || - || 2 || style="background:green" | In DB kr_w052m | ||
+ | |- | ||
+ | | KR || W(ohngebiet) || 6 || - || 2 || siehe Checkliste kr_w062m | ||
+ | |- | ||
+ | | KR || W(ohngebiet) || 7 || - || 2 || style="background:green" | In DB kr_w072m | ||
+ | |- | ||
+ | | KR || W(ohngebiet) || 8 || - || 2 || style="background:green" | In DB kr_w082w | ||
+ | |- | ||
+ | | KR || W(ohngebiet) || 9 || - || 2 || siehe Checkliste kr_w092w | ||
+ | |- | ||
+ | | KR || W(ohngebiet) || 10 || - || 2 || siehe Checkliste kr_w10w | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 1 || M(ittag) || 3 || style="background:green" | In DB kr_g013m | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 1 || A(bend) || 3 || style="background:green" | In DB kr_g013a | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 1 || W(ochenende) || 3 || style="background:green" | In DB kr_g013w | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 2 || M(ittag) || 3 || style="background:green" | In DB kr_g023m | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 2 || A(bend) || 3 || style="background:green" | In DB kr_g023a | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 2 || W(ochenende) || 3 || style="background:green" | In DB kr_g023w | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 3 || M(ittag) || 3 || style="background:green" | In DB kr_g033m | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 3 || A(bend) || 3 || style="background:green" | In DB kr_g033a | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 3 || W(ochenende) || 3 || style="background:green" | In DB kr_g033w | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 4 || M(ittag) || 3 || | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 4 || A(bend) || 3 || | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 4 || W(ochenende) || 3 || | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 5 || M(ittag) || 6 || style="background:green" | In DB kr_g56m | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 5 || A(bend) || 6 || style="background:green" | In DB kr_g56a | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 5 || W(ochenende) || 6 || style="background:green" | In DB kr_g56w | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 6 || M(ittag) || 6 || style="background:green" | In DB kr_g66m | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 6 || A(bend) || 6 || style="background:green" | In DB kr_g66a | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 6 || W(ochenende) || 6 || nicht in Checkliste kr_g66w | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 7 || M(ittag) || 4 || nicht in Checkliste kr_g74m | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 7 || A(bend) || 4 || nicht in Checkliste kr_g74a | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 7 || W(ochenende) || 4 || nicht in Checkliste kr_g74w | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 8 || M(ittag) || 5 || nicht in Checkliste kr_g85m | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 8 || A(bend) || 5 || nicht in Checkliste kr_g85a | ||
+ | |- | ||
+ | | KR || G(ewerbegebiet) || 8 || W(ochenende) || 5 || nicht in Checkliste kr_g85w | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===Checkliste:=== | ||
+ | {| border=1 | ||
+ | |- | ||
+ | ! Datei !! Zwei mal !! ca Minuten !! Status | ||
+ | |- | ||
+ | | kr_g013a || Erkennbar || 24 || In DB | ||
+ | |- | ||
+ | | kr_g013m || Erkennbar || 40 || In DB | ||
+ | |- | ||
+ | | kr_g013w || Erkennbar || 25 || In DB | ||
+ | |- | ||
+ | | kr_g023a || Erkennbar || 60 || In DB | ||
+ | |- | ||
+ | | kr_g023m || Erkennbar || 50 || In DB | ||
+ | |- | ||
+ | | kr_g023w || Erkennbar || 45 || In DB | ||
+ | |- | ||
+ | | kr_g033a || Erkennbar || 25 || In DB | ||
+ | |- | ||
+ | | kr_g033m || Erkennbar || 40 || In DB | ||
+ | |- | ||
+ | | kr_g033w || Erkennbar || 25 || In DB | ||
+ | |- | ||
+ | | kr_g056m || Erkennbar || 55 || In DB | ||
+ | |- | ||
+ | | kr_g056w || Erkennbar || 50 || In DB | ||
+ | |- | ||
+ | | kr_g066m || Erkennbar || 60 || In DB | ||
+ | |- | ||
+ | | kr_g066w || Erkennbar || 60 || In DB | ||
+ | |- | ||
+ | | kr_g082a || NEIN || 30 || gibt es nicht ! | ||
+ | |- | ||
+ | | kr_g082m || NEIN || 30 || gibt es nicht ! | ||
+ | |- | ||
+ | | kr_i012m || Erkennbar || 65 || In DB | ||
+ | |- | ||
+ | | kr_i032m || Erkennbar || 55 || gibt es nicht ! | ||
+ | |- | ||
+ | | kr_i033w || Erkennbar || 55 || gibt es nicht ! | ||
+ | |- | ||
+ | | kr_w012m || Manipuliert - Keine Punkte auf dem Rückweg nur Startpunkt kommt 2mal vor || 35 || nicht in DB | ||
+ | |- | ||
+ | | kr_w022m || Erkennbar || 50 || In DB | ||
+ | |- | ||
+ | | kr_w032m || Test? || 1 || Nicht in DB | ||
+ | |- | ||
+ | | kr_w042m || Erkennbar || 60 || In DB | ||
+ | |- | ||
+ | | kr_w052m || Erkennbar || 70 || In DB | ||
+ | |- | ||
+ | | kr_w062m || Erkennbar 72 Netze bei Start || 35 || Nicht in DB | ||
+ | |- | ||
+ | | kr_w072m || Erkennbar || 23 || In DB | ||
+ | |- | ||
+ | | kr_w082w || Erkennbar || 105 || In DB | ||
+ | |- | ||
+ | | kr_w092w || Verdacht - Unterschiedliche Tage || 20 || nicht in DB | ||
+ | |- | ||
+ | | kr_w102w || Verdacht - Unterschiedliche Tage || 10 || nicht in DB | ||
+ | |- | ||
+ | | KRG05W6 || Zwei Runden || 50 || In DB | ||
+ | |- | ||
+ | | KRG06W6 || Erkennbar || 60 || In DB | ||
+ | |- | ||
+ | | mg_g014a || Nicht eindeutig || 50 || nicht in DB | ||
+ | |- | ||
+ | | mg_g014m || Nicht eindeutig || 50 || nicht in DB | ||
+ | |- | ||
+ | | mg_g014w || Nicht eindeutig || 50 || nicht in DB | ||
+ | |- | ||
+ | | mg_g024a || Erkennbar || 80 || In DB | ||
+ | |- | ||
+ | | mg_g024m || Erkennbar || 90 || In DB | ||
+ | |- | ||
+ | | mg_g024w || Erkennbar || 80 || In DB | ||
+ | |- | ||
+ | | mg_g031a || Erkennabr || 60 || In DB | ||
+ | |- | ||
+ | | mg_g031m || NEIN || 15 || nicht in DB | ||
+ | |- | ||
+ | | mg_g031w || NEIN || 25 || nicht in DB | ||
+ | |- | ||
+ | | mg_g041a || NEIN || 20 || nicht in DB | ||
+ | |- | ||
+ | | mg_g041m || NEIN || 20 || nicht in DB | ||
+ | |- | ||
+ | | mg_g041w || NEIN || 30 || nicht in DB | ||
+ | |- | ||
+ | | mg_g051a || Erkennbar || 40 || In DB | ||
+ | |- | ||
+ | | mg_g051m || NEIN || 20 || nicht in DB | ||
+ | |- | ||
+ | | mg_g051w || Erkennbar || 33 || In DB | ||
+ | |- | ||
+ | | mg_g061a || Leichte Zweifel || 45 || nicht in DB | ||
+ | |- | ||
+ | | mg_g061m || NEIN || 35 || nicht in DB | ||
+ | |- | ||
+ | | mg_g061w || NEIN || 40 || nicht in DB | ||
+ | |- | ||
+ | | mg_i016m || Nur halb || 50 || nicht in DB | ||
+ | |- | ||
+ | | mg_i026m || NEIN || 60 || nicht in DB | ||
+ | |- | ||
+ | | mg_i034m || NEIN || 23 || nicht in DB | ||
+ | |- | ||
+ | | mg_i046m || Nur halb || 35 || nicht in DB | ||
+ | |- | ||
+ | | mg_i056m || NEIN || 30 || nicht in DB | ||
+ | |- | ||
+ | | mg_i064m || NEIN || 35 || nicht in DB | ||
+ | |- | ||
+ | | mg_w01_5m || Erkennbar || 60 || In DB | ||
+ | |- | ||
+ | | mg_w02_5m || Nur halb || 40 || Nicht in DB | ||
+ | |- | ||
+ | | mg_w03_5m || Erkennbar || 55 || In DB | ||
+ | |- | ||
+ | | mg_w04_5m || NICHT VERWERTBAR || 5 || Nicht in DB | ||
+ | |- | ||
+ | | w_05_6_m || Erkennbar || 50 || In DB | ||
+ | |- | ||
+ | | w_06_6_m || Erkennbar || 55 || In DB | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ==Merkzettel== | ||
+ | um eine Sequence zurueck zu setzen: | ||
+ | ALTER SEQUENCE xdrive_t_id_seq RESTART WITH 1; | ||
+ | ==19.11.2009== | ||
+ | *Usermanagment notes: | ||
+ | \du :liste der rollen | ||
+ | http://www.postgresql.org/docs/8.4/interactive/sql-grant.html | ||
+ | http://www.postgresql.org/docs/8.4/interactive/sql-revoke.html | ||
+ | http://www.postgresql.org/docs/8.4/interactive/sql-createrole.html | ||
+ | http://stackoverflow.com/questions/760210/how-do-you-create-a-read-only-user-in-postgresql | ||
+ | |||
+ | |||
+ | //Idee: alle Rechte nehmen nur das erlauben was noetig ist. | ||
+ | |||
+ | //public alle rechte nehmen: | ||
+ | REVOKE all ON koordinaten_t FROM PUBLIC; | ||
+ | REVOKE all ON messung_t FROM PUBLIC; | ||
+ | REVOKE all ON typ_t FROM PUBLIC; | ||
+ | REVOKE all ON verschluesselung_t FROM PUBLIC; | ||
+ | REVOKE all ON xdrive_t FROM PUBLIC; | ||
+ | |||
+ | //...und fuer db: | ||
+ | Revoke all on database xdrive_tmp from public; | ||
+ | |||
+ | //show all roles: | ||
+ | select * from pg_roles; | ||
+ | |||
+ | //create role connect only "Gruppe" erstellen | ||
+ | create role xdrive; | ||
+ | |||
+ | //allow to connect | ||
+ | GRANT CONNECT on DATABASE xdrive_tmp to xdrive_user; | ||
+ | |||
+ | //allow to select | ||
+ | GRANT SELECT ON koordinaten_t TO xdrive_user ; | ||
+ | GRANT SELECT ON messung_t TO xdrive_user ; | ||
+ | GRANT SELECT ON typ_t TO xdrive_user ; | ||
+ | GRANT SELECT ON verschluesselung_t TO xdrive_user ; | ||
+ | GRANT SELECT ON xdrive_t to xdrive_user ; | ||
+ | |||
+ | //damit user view erstellen kann | ||
+ | GRANT create on SCHEMA public to public; | ||
+ | |||
+ | //create user with password asdf and add to "Group" xdrive_user | ||
+ | CREATE ROLE sq06 WITH login password 'asdf' in role xdrive_user; | ||
+ | |||
+ | // hiermit kann das pw geaendert werden pgppgadmin gibt zwar einen fehler aus aber es funtioniert. | ||
+ | ALTER USER sq06 WITH PASSWORD 'hu8jmn3'; | ||
+ | |||
+ | === Serverarbeiten === | ||
+ | Ich habe einen neuen User angelegt -> nddcollector in dessen Homeverzeichnis, mithilfe von Davids Script | ||
+ | die ndd Dateien der sqx User gesammelt werden. | ||
+ | Zudem habe ich für root einen Cronjob erstellt der Täglich um 3 Uhr nachts das Script im Homeverzeichniss von nddcollector (zum sammeln der ndd Logfiles) ausführt. | ||
+ | Um es festzuhalten, der link zum erstellen von Cronjobs -> [http://www.knaupes.net/linux-cronjobs-anlegen-mit-crontab/ link] | ||
+ | |||
+ | Nachtrag: | ||
+ | Script speichert nun auch Logfiles mit den gefundenen Pfaden in der Form <datum>_<uhrzeit>_nddcollector.log im Unterordner log vom User nddcollector. | ||
+ | |||
+ | === Kurzanleitung zu PuTTY === | ||
+ | Hier eine Kurzanleitung zu Putty -> [http://qbesmine.de/stuff/putty_kurzanleitung.pdf PuTTY_Kurzanleitung] | ||
+ | |||
+ | === Update zur WinSCP Anleitung === | ||
+ | Die Anleitung zu WinSCP wurde aktualisiert da ein kleiner Fehler mit WindowsXP aufgetreten ist. Nun soltle alles so funktionieren wie in der Anleitung beschrieben. -> [http://qbesmine.de/stuff/winscp_kurzanleitung.pdf WinSCP_Kurzanleitung] | ||
+ | === Offene Fragen an die Gladbacher Gruppe === | ||
+ | * Wird ein Messplan mit Messungsnummern erstellt? | ||
=== Präsentation der Datenbank=== | === Präsentation der Datenbank=== | ||
Zeile 26: | Zeile 367: | ||
**Script zum Parsen der Ndetectlogfiles | **Script zum Parsen der Ndetectlogfiles | ||
**Namenskonvention | **Namenskonvention | ||
- | ***<kr/mg>_<Straßenname ohne Sonderzeichen>_<messungsnr> | + | ***<kr/mg>_<Straßenname ohne Sonderzeichen>_<messungsnr> |
*User Accounts | *User Accounts | ||
**Pro Netbook ein Useraccount auf dem Server (Netbookname) | **Pro Netbook ein Useraccount auf dem Server (Netbookname) | ||
Zeile 41: | Zeile 382: | ||
Hier eine Kurzanleitung zu WinSCP -> [http://qbesmine.de/stuff/winscp_kurzanleitung.pdf WinSCP_Kurzanleitung] | Hier eine Kurzanleitung zu WinSCP -> [http://qbesmine.de/stuff/winscp_kurzanleitung.pdf WinSCP_Kurzanleitung] | ||
- | + | == 2.11.2009 Vorschlag Usermanagement == | |
*Server User werden im Homeverzeichnis eingesperrt. | *Server User werden im Homeverzeichnis eingesperrt. | ||
Zeile 53: | Zeile 394: | ||
<kr/mg>_<Straßenname ohne Sonderzeichen>_<messungsnr> | <kr/mg>_<Straßenname ohne Sonderzeichen>_<messungsnr> | ||
Gruppe (SSH User) -> 1 User pro Netbook mit Netbookname als loginname | Gruppe (SSH User) -> 1 User pro Netbook mit Netbookname als loginname | ||
- | |||
- | ===Kür :=== | ||
- | *mac <-> vendor zuordnung: http://standards.ieee.org/regauth/oui/oui.txt http://standards.ieee.org/regauth/oui/ | ||
- | *fertiges Script zum anlegen und fuellen der Tabelle: [[Bild:Oui.sql.gz]] | ||
- | |||
- | ====selbst erstellen:==== | ||
- | #in bash: cd /tmp | ||
- | #downloaden | ||
- | wget http://standards.ieee.org/regauth/oui/oui.txt | ||
- | |||
- | #Eintraege filtern | ||
- | cat oui.txt | grep 'base 16' > tmp.txt | ||
- | |||
- | #insert erstellen ! falsch weil wiki irgendwas ersetzt :/ | ||
- | sed -e 's/'\''/'\'''\''/' -e 's/^/INSERT INTO oui VALUES \('\''/g' -e 's/ (base 16)\t\t/'\'', '\''/g' -e 's/$/'\'');/g' tmp.txt > insert.sql | ||
- | |||
- | #in psql: | ||
- | #Tabelle erstellen | ||
- | CREATE TABLE oui ( mac varchar(6) primary key, name varchar(255)); | ||
- | |||
- | #encoding setzen | ||
- | SET client_encoding to 'latin1'; | ||
- | |||
- | #inserten... | ||
- | \i insert.sql | ||
- | |||
- | #encoding zurueck setzen | ||
- | SET client_encoding to 'UTF8'; | ||
==30.10.2009== | ==30.10.2009== | ||
Zeile 132: | Zeile 445: | ||
CREATE TABLE messung_t( | CREATE TABLE messung_t( | ||
id SERIAL Primary Key, | id SERIAL Primary Key, | ||
- | | + | filename varchar (255) |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
); | ); | ||
Zeile 169: | Zeile 478: | ||
====constraints==== | ====constraints==== | ||
- | ALTER TABLE xdrive_t ADD CONSTRAINT messung_c FOREIGN KEY(messung_id) REFERENCES messung_t(id); | + | ALTER TABLE xdrive_t ADD CONSTRAINT messung_c FOREIGN KEY(messung_id) REFERENCES messung_t(id) ON DELETE cascade; |
+ | ALTER TABLE koordinaten_t ADD CONSTRAINT xdriveid_c FOREIGN KEY (xdrive_id) REFERENCES xdrive_t(id) ON DELETE CASCADE; | ||
+ | |||
ALTER TABLE xdrive_t ADD CONSTRAINT typ_c FOREIGN KEY (typ_id) REFERENCES typ_t(id); | ALTER TABLE xdrive_t ADD CONSTRAINT typ_c FOREIGN KEY (typ_id) REFERENCES typ_t(id); | ||
ALTER TABLE xdrive_t ADD CONSTRAINT versch_c FOREIGN KEY (verschluesselung_id) REFERENCES verschluesselung_t(id); | ALTER TABLE xdrive_t ADD CONSTRAINT versch_c FOREIGN KEY (verschluesselung_id) REFERENCES verschluesselung_t(id); | ||
Zeile 185: | Zeile 496: | ||
==Skript zum Einpflegen von Daten== | ==Skript zum Einpflegen von Daten== | ||
*TODO | *TODO | ||
+ | |||
+ | ===Kür :=== | ||
+ | *mac <-> vendor zuordnung: http://standards.ieee.org/regauth/oui/oui.txt http://standards.ieee.org/regauth/oui/ | ||
+ | *fertiges Script zum anlegen und fuellen der Tabelle: [[Bild:Oui.sql.gz]] | ||
+ | |||
+ | ====selbst erstellen:==== | ||
+ | #in bash: cd /tmp | ||
+ | #downloaden | ||
+ | wget http://standards.ieee.org/regauth/oui/oui.txt | ||
+ | |||
+ | #Eintraege filtern | ||
+ | cat oui.txt | grep 'base 16' > tmp.txt | ||
+ | |||
+ | #insert erstellen ! falsch weil wiki irgendwas ersetzt :/ | ||
+ | sed -e 's/'\''/'\'''\''/' -e 's/^/INSERT INTO oui VALUES \('\''/g' -e 's/ (base 16)\t\t/'\'', '\''/g' -e 's/$/'\'');/g' tmp.txt > insert.sql | ||
+ | |||
+ | #in psql: | ||
+ | #Tabelle erstellen | ||
+ | CREATE TABLE oui ( mac varchar(6) primary key, name varchar(255)); | ||
+ | |||
+ | #encoding setzen | ||
+ | SET client_encoding to 'latin1'; | ||
+ | |||
+ | #inserten... | ||
+ | \i insert.sql | ||
+ | |||
+ | #encoding zurueck setzen | ||
+ | SET client_encoding to 'UTF8'; |
Aktuelle Version
Inhaltsverzeichnis |
[bearbeiten] Team log
[bearbeiten] TODO
[bearbeiten] Status:
Ort | Gebiet | Nr. | Messung | MIS(Gruppe) | Status |
---|---|---|---|---|---|
MG | I(nnenstadt) | 1 | - | 6 | siehe Checkliste mg_i016m |
MG | I(nnenstadt) | 2 | - | 6 | siehe Checkliste mg_i026m |
MG | I(nnenstadt) | 3 | - | 4 | siehe Checkliste mg_i036m |
MG | I(nnenstadt) | 4 | - | 6 | siehe Checkliste mg_i046m |
MG | I(nnenstadt) | 5 | - | 6 | siehe Checkliste mg_i056m |
MG | I(nnenstadt) | 6 | - | 4 | siehe Checkliste mg_i066m |
MG | W(ohngebiet) | 1 | - | 5 | In DB mg_w01_5m |
MG | W(ohngebiet) | 2 | - | 5 | nicht in DB mg_w02_5m |
MG | W(ohngebiet) | 3 | - | 5 | In DB mg_w03_5m |
MG | W(ohngebiet) | 4 | - | 5 | siehe Checkliste mg_w04_5m |
MG | W(ohngebiet) | 5 | - | 5 | In DB w_05_6_m |
MG | W(ohngebiet) | 6 | - | 5 | In DB w_05_6_m |
MG | W(ohngebiet) | 7 | - | 5 | |
MG | W(ohngebiet) | 8 | - | 5 | |
MG | W(ohngebiet) | 9 | - | 5 | |
MG | W(ohngebiet) | 10 | - | 5 | |
MG | G(ewerbegebiet) | 1 | M(ittag) | 4 | siehe Checkliste mg_g014m |
MG | G(ewerbegebiet) | 1 | A(bend) | 4 | siehe Checkliste mg_g014a |
MG | G(ewerbegebiet) | 1 | W(ochenende) | 4 | siehe Checkliste mg_g014w |
MG | G(ewerbegebiet) | 2 | M(ittag) | 4 | In DB mg_g024m |
MG | G(ewerbegebiet) | 2 | A(bend) | 4 | In DB mg_g024a |
MG | G(ewerbegebiet) | 2 | W(ochenende) | 4 | In DB mg_g024w |
MG | G(ewerbegebiet) | 3 | M(ittag) | 1 | In DB mg_g031m |
MG | G(ewerbegebiet) | 3 | A(bend) | 1 | siehe Checkliste mg_g031a |
MG | G(ewerbegebiet) | 3 | W(ochenende) | 1 | siehe Checkliste mg_g031w |
MG | G(ewerbegebiet) | 4 | M(ittag) | 1 | siehe Checkliste mg_g041m |
MG | G(ewerbegebiet) | 4 | A(bend) | 1 | siehe Checkliste mg_g041a |
MG | G(ewerbegebiet) | 4 | W(ochenende) | 1 | siehe Checkliste mg_g041w |
MG | G(ewerbegebiet) | 5 | M(ittag) | 1 | siehe Checkliste mg_g051m |
MG | G(ewerbegebiet) | 5 | A(bend) | 1 | In DB mg_g051a |
MG | G(ewerbegebiet) | 5 | W(ochenende) | 1 | In DB mg_g051w |
MG | G(ewerbegebiet) | 6 | M(ittag) | 1 | siehe Checkliste mg_g061m |
MG | G(ewerbegebiet) | 6 | A(bend) | 1 | siehe Checkliste mg_g061a |
MG | G(ewerbegebiet) | 6 | W(ochenende) | 1 | siehe Checkliste mg_g061w |
MG | G(ewerbegebiet) | 7 | M(ittag) | 5 | |
MG | G(ewerbegebiet) | 7 | A(bend) | 5 | |
MG | G(ewerbegebiet) | 7 | W(ochenende) | ||
MG | G(ewerbegebiet) | 8 | M(ittag) | ||
MG | G(ewerbegebiet) | 8 | A(bend) | ||
MG | G(ewerbegebiet) | 8 | W(ochenende) | ||
KR | I(nnenstadt) | 1 | - | 2 | In DB kr_i02m |
KR | I(nnenstadt) | 2 | - | 2 | |
KR | I(nnenstadt) | 3 | - | 4 | |
KR | I(nnenstadt) | 4 | - | 5 | |
KR | I(nnenstadt) | 5 | - | 6 | |
KR | I(nnenstadt) | 6 | - | 6 | |
KR | W(ohngebiet) | 1 | - | 2 | Manipuliert - siehe Checkliste kr_w012m |
KR | W(ohngebiet) | 2 | - | 2 | In DB kr_w022m |
KR | W(ohngebiet) | 3 | - | 2 | siehe Checkliste kr_w032m |
KR | W(ohngebiet) | 4 | - | 2 | In DB kr_w042m |
KR | W(ohngebiet) | 5 | - | 2 | In DB kr_w052m |
KR | W(ohngebiet) | 6 | - | 2 | siehe Checkliste kr_w062m |
KR | W(ohngebiet) | 7 | - | 2 | In DB kr_w072m |
KR | W(ohngebiet) | 8 | - | 2 | In DB kr_w082w |
KR | W(ohngebiet) | 9 | - | 2 | siehe Checkliste kr_w092w |
KR | W(ohngebiet) | 10 | - | 2 | siehe Checkliste kr_w10w |
KR | G(ewerbegebiet) | 1 | M(ittag) | 3 | In DB kr_g013m |
KR | G(ewerbegebiet) | 1 | A(bend) | 3 | In DB kr_g013a |
KR | G(ewerbegebiet) | 1 | W(ochenende) | 3 | In DB kr_g013w |
KR | G(ewerbegebiet) | 2 | M(ittag) | 3 | In DB kr_g023m |
KR | G(ewerbegebiet) | 2 | A(bend) | 3 | In DB kr_g023a |
KR | G(ewerbegebiet) | 2 | W(ochenende) | 3 | In DB kr_g023w |
KR | G(ewerbegebiet) | 3 | M(ittag) | 3 | In DB kr_g033m |
KR | G(ewerbegebiet) | 3 | A(bend) | 3 | In DB kr_g033a |
KR | G(ewerbegebiet) | 3 | W(ochenende) | 3 | In DB kr_g033w |
KR | G(ewerbegebiet) | 4 | M(ittag) | 3 | |
KR | G(ewerbegebiet) | 4 | A(bend) | 3 | |
KR | G(ewerbegebiet) | 4 | W(ochenende) | 3 | |
KR | G(ewerbegebiet) | 5 | M(ittag) | 6 | In DB kr_g56m |
KR | G(ewerbegebiet) | 5 | A(bend) | 6 | In DB kr_g56a |
KR | G(ewerbegebiet) | 5 | W(ochenende) | 6 | In DB kr_g56w |
KR | G(ewerbegebiet) | 6 | M(ittag) | 6 | In DB kr_g66m |
KR | G(ewerbegebiet) | 6 | A(bend) | 6 | In DB kr_g66a |
KR | G(ewerbegebiet) | 6 | W(ochenende) | 6 | nicht in Checkliste kr_g66w |
KR | G(ewerbegebiet) | 7 | M(ittag) | 4 | nicht in Checkliste kr_g74m |
KR | G(ewerbegebiet) | 7 | A(bend) | 4 | nicht in Checkliste kr_g74a |
KR | G(ewerbegebiet) | 7 | W(ochenende) | 4 | nicht in Checkliste kr_g74w |
KR | G(ewerbegebiet) | 8 | M(ittag) | 5 | nicht in Checkliste kr_g85m |
KR | G(ewerbegebiet) | 8 | A(bend) | 5 | nicht in Checkliste kr_g85a |
KR | G(ewerbegebiet) | 8 | W(ochenende) | 5 | nicht in Checkliste kr_g85w |
[bearbeiten] Checkliste:
Datei | Zwei mal | ca Minuten | Status |
---|---|---|---|
kr_g013a | Erkennbar | 24 | In DB |
kr_g013m | Erkennbar | 40 | In DB |
kr_g013w | Erkennbar | 25 | In DB |
kr_g023a | Erkennbar | 60 | In DB |
kr_g023m | Erkennbar | 50 | In DB |
kr_g023w | Erkennbar | 45 | In DB |
kr_g033a | Erkennbar | 25 | In DB |
kr_g033m | Erkennbar | 40 | In DB |
kr_g033w | Erkennbar | 25 | In DB |
kr_g056m | Erkennbar | 55 | In DB |
kr_g056w | Erkennbar | 50 | In DB |
kr_g066m | Erkennbar | 60 | In DB |
kr_g066w | Erkennbar | 60 | In DB |
kr_g082a | NEIN | 30 | gibt es nicht ! |
kr_g082m | NEIN | 30 | gibt es nicht ! |
kr_i012m | Erkennbar | 65 | In DB |
kr_i032m | Erkennbar | 55 | gibt es nicht ! |
kr_i033w | Erkennbar | 55 | gibt es nicht ! |
kr_w012m | Manipuliert - Keine Punkte auf dem Rückweg nur Startpunkt kommt 2mal vor | 35 | nicht in DB |
kr_w022m | Erkennbar | 50 | In DB |
kr_w032m | Test? | 1 | Nicht in DB |
kr_w042m | Erkennbar | 60 | In DB |
kr_w052m | Erkennbar | 70 | In DB |
kr_w062m | Erkennbar 72 Netze bei Start | 35 | Nicht in DB |
kr_w072m | Erkennbar | 23 | In DB |
kr_w082w | Erkennbar | 105 | In DB |
kr_w092w | Verdacht - Unterschiedliche Tage | 20 | nicht in DB |
kr_w102w | Verdacht - Unterschiedliche Tage | 10 | nicht in DB |
KRG05W6 | Zwei Runden | 50 | In DB |
KRG06W6 | Erkennbar | 60 | In DB |
mg_g014a | Nicht eindeutig | 50 | nicht in DB |
mg_g014m | Nicht eindeutig | 50 | nicht in DB |
mg_g014w | Nicht eindeutig | 50 | nicht in DB |
mg_g024a | Erkennbar | 80 | In DB |
mg_g024m | Erkennbar | 90 | In DB |
mg_g024w | Erkennbar | 80 | In DB |
mg_g031a | Erkennabr | 60 | In DB |
mg_g031m | NEIN | 15 | nicht in DB |
mg_g031w | NEIN | 25 | nicht in DB |
mg_g041a | NEIN | 20 | nicht in DB |
mg_g041m | NEIN | 20 | nicht in DB |
mg_g041w | NEIN | 30 | nicht in DB |
mg_g051a | Erkennbar | 40 | In DB |
mg_g051m | NEIN | 20 | nicht in DB |
mg_g051w | Erkennbar | 33 | In DB |
mg_g061a | Leichte Zweifel | 45 | nicht in DB |
mg_g061m | NEIN | 35 | nicht in DB |
mg_g061w | NEIN | 40 | nicht in DB |
mg_i016m | Nur halb | 50 | nicht in DB |
mg_i026m | NEIN | 60 | nicht in DB |
mg_i034m | NEIN | 23 | nicht in DB |
mg_i046m | Nur halb | 35 | nicht in DB |
mg_i056m | NEIN | 30 | nicht in DB |
mg_i064m | NEIN | 35 | nicht in DB |
mg_w01_5m | Erkennbar | 60 | In DB |
mg_w02_5m | Nur halb | 40 | Nicht in DB |
mg_w03_5m | Erkennbar | 55 | In DB |
mg_w04_5m | NICHT VERWERTBAR | 5 | Nicht in DB |
w_05_6_m | Erkennbar | 50 | In DB |
w_06_6_m | Erkennbar | 55 | In DB |
[bearbeiten] Merkzettel
um eine Sequence zurueck zu setzen:
ALTER SEQUENCE xdrive_t_id_seq RESTART WITH 1;
[bearbeiten] 19.11.2009
- Usermanagment notes:
\du :liste der rollen http://www.postgresql.org/docs/8.4/interactive/sql-grant.html http://www.postgresql.org/docs/8.4/interactive/sql-revoke.html http://www.postgresql.org/docs/8.4/interactive/sql-createrole.html http://stackoverflow.com/questions/760210/how-do-you-create-a-read-only-user-in-postgresql //Idee: alle Rechte nehmen nur das erlauben was noetig ist. //public alle rechte nehmen: REVOKE all ON koordinaten_t FROM PUBLIC; REVOKE all ON messung_t FROM PUBLIC; REVOKE all ON typ_t FROM PUBLIC; REVOKE all ON verschluesselung_t FROM PUBLIC; REVOKE all ON xdrive_t FROM PUBLIC; //...und fuer db: Revoke all on database xdrive_tmp from public; //show all roles: select * from pg_roles; //create role connect only "Gruppe" erstellen create role xdrive; //allow to connect GRANT CONNECT on DATABASE xdrive_tmp to xdrive_user; //allow to select GRANT SELECT ON koordinaten_t TO xdrive_user ; GRANT SELECT ON messung_t TO xdrive_user ; GRANT SELECT ON typ_t TO xdrive_user ; GRANT SELECT ON verschluesselung_t TO xdrive_user ; GRANT SELECT ON xdrive_t to xdrive_user ; //damit user view erstellen kann GRANT create on SCHEMA public to public; //create user with password asdf and add to "Group" xdrive_user CREATE ROLE sq06 WITH login password 'asdf' in role xdrive_user; // hiermit kann das pw geaendert werden pgppgadmin gibt zwar einen fehler aus aber es funtioniert. ALTER USER sq06 WITH PASSWORD 'hu8jmn3';
[bearbeiten] Serverarbeiten
Ich habe einen neuen User angelegt -> nddcollector in dessen Homeverzeichnis, mithilfe von Davids Script die ndd Dateien der sqx User gesammelt werden. Zudem habe ich für root einen Cronjob erstellt der Täglich um 3 Uhr nachts das Script im Homeverzeichniss von nddcollector (zum sammeln der ndd Logfiles) ausführt. Um es festzuhalten, der link zum erstellen von Cronjobs -> link
Nachtrag: Script speichert nun auch Logfiles mit den gefundenen Pfaden in der Form <datum>_<uhrzeit>_nddcollector.log im Unterordner log vom User nddcollector.
[bearbeiten] Kurzanleitung zu PuTTY
Hier eine Kurzanleitung zu Putty -> PuTTY_Kurzanleitung
[bearbeiten] Update zur WinSCP Anleitung
Die Anleitung zu WinSCP wurde aktualisiert da ein kleiner Fehler mit WindowsXP aufgetreten ist. Nun soltle alles so funktionieren wie in der Anleitung beschrieben. -> WinSCP_Kurzanleitung
[bearbeiten] Offene Fragen an die Gladbacher Gruppe
- Wird ein Messplan mit Messungsnummern erstellt?
[bearbeiten] Präsentation der Datenbank
- Datenbankserver
- Ubuntu Linux
- Postgresql
- Script zum Parsen der Ndetectlogfiles
- Namenskonvention
- <kr/mg>_<Straßenname ohne Sonderzeichen>_<messungsnr>
- User Accounts
- Pro Netbook ein Useraccount auf dem Server (Netbookname)
- Ein Useraccount in der Datenbank
- ERD
- phppgadmin
- Serverzugang über WinSCP
[bearbeiten] WinSCP Kurzanleitung
Hier eine Kurzanleitung zu WinSCP -> WinSCP_Kurzanleitung
[bearbeiten] 2.11.2009 Vorschlag Usermanagement
- Server User werden im Homeverzeichnis eingesperrt.
- Konfigurationsmöglichkeit in ssh.conf?
- DBUser bekommen sämtliche rechte entzogen
REVOKE ALL PRIVILEGES ON DATABASE xdrive_tmp FROM xdrive_test;
- DBUser bekommen nur leserechte auf bestimmte Tabellen (Views)
GRANT SELECT ON xdrive_t to xdrive_test;
[bearbeiten] Namenskonvention für Netdetectlogfiles
<kr/mg>_<Straßenname ohne Sonderzeichen>_<messungsnr> Gruppe (SSH User) -> 1 User pro Netbook mit Netbookname als loginname
[bearbeiten] 30.10.2009
- Server mit Postgres und phppgadmin installiert und konfiguriert.
- jeder der einen Datenbank Account braucht bitte bei Stephan/David melden.
- erster Test mit unseren Script erfolgreich. Daten stehen in der xdrive_tmp Datenbank.
[bearbeiten] 29.10.2009
Script von Stephan erweitert. Nun werden die Daten in die Sql Datenbank geschrieben. Link
Edit: Vorher muss allerdings das Zusatzmodul pygresql installiert werden!
sudo apt-get install python-pygresql
[bearbeiten] 27.10.2009
Ich habe ein kleines Pythonscript zum parsen des Logfiles geschrieben -> Script Das Script ist noch keinesfalls vollständig!
- liest die Daten aus dem Logfile in eine Liste ein
- Das erstellen der SQL Statements muss noch angepasst werden
- Bisher nur Testweise Dummy- Statements
Wird gestartet mit:
python filter.py <logfile>.ndd
SQL Statements sind dann in der Datei script.sql im selben Ordner wie das Filterscript zu finden.
[bearbeiten] 26.10.2009
- Design der Tabellen, erstellen der create Befehle
- netdetect .ndd Format
- Um die Daten auf den Server zu kopieren haben wir eine Lösung mit winscp überlegt.
- als Server openssh-server. pro Netbook ein Account.
- Dafür wird ein Datenbankserver benötigt (EZS Labor?)
[bearbeiten] Design der Datenbank
[bearbeiten] Tabellen:
[bearbeiten] xdrive_t:
CREATE TABLE xdrive_t ( id SERIAL Primary Key, messung_id int, bssid varchar(12), essid varchar(32), verschluesselung_id int, kanal int, speed int, typ_id int, first_seen int, last_seen int );
[bearbeiten] messung_t
CREATE TABLE messung_t( id SERIAL Primary Key, filename varchar (255) );
[bearbeiten] koordinaten_t
CREATE TABLE koordinaten_t ( id SERIAL Primary Key, xdrive_id int, latitude varchar(255), longitude varchar(255), signal_quality int );
[bearbeiten] verschluesselung_t
CREATE TABLE verschluesselung_t ( id SERIAL Primary Key, name varchar(10) ); INSERT INTO verschluesselung_t VALUES (0, 'OPEN'); INSERT INTO verschluesselung_t VALUES (1, 'WEP?'); INSERT INTO verschluesselung_t VALUES (2, 'WEP'); INSERT INTO verschluesselung_t VALUES (3, 'WPA'); INSERT INTO verschluesselung_t VALUES (4, 'WPA2'); INSERT INTO verschluesselung_t VALUES (5, 'WPA-WPA2');
[bearbeiten] typ_t
CREATE TABLE typ_t ( id SERIAL Primary Key, name varchar(10) ); INSERT INTO typ_t VALUES (0, 'BSS'); INSERT INTO typ_t VALUES (1, 'IBSS');
[bearbeiten] constraints
ALTER TABLE xdrive_t ADD CONSTRAINT messung_c FOREIGN KEY(messung_id) REFERENCES messung_t(id) ON DELETE cascade; ALTER TABLE koordinaten_t ADD CONSTRAINT xdriveid_c FOREIGN KEY (xdrive_id) REFERENCES xdrive_t(id) ON DELETE CASCADE;
ALTER TABLE xdrive_t ADD CONSTRAINT typ_c FOREIGN KEY (typ_id) REFERENCES typ_t(id); ALTER TABLE xdrive_t ADD CONSTRAINT versch_c FOREIGN KEY (verschluesselung_id) REFERENCES verschluesselung_t(id);
[bearbeiten] Aufsetzen der Datenbank
[bearbeiten] SQL Server: PostgreSQL
- sudo apt-get install postgresql
- sudo -u postgres createuser --superuser $USER
- createdb
- psql
[bearbeiten] PyGreSQL
- sudo apt-get install python-pygresql
- db = DB() braucht evt. login infos als Argument: http://www.pygresql.org/pg.html#connection-objects-pgobject
[bearbeiten] Skript zum Einpflegen von Daten
- TODO
[bearbeiten] Kür :
- mac <-> vendor zuordnung: http://standards.ieee.org/regauth/oui/oui.txt http://standards.ieee.org/regauth/oui/
- fertiges Script zum anlegen und fuellen der Tabelle: Bild:Oui.sql.gz
[bearbeiten] selbst erstellen:
#in bash: cd /tmp #downloaden wget http://standards.ieee.org/regauth/oui/oui.txt #Eintraege filtern cat oui.txt | grep 'base 16' > tmp.txt #insert erstellen ! falsch weil wiki irgendwas ersetzt :/ sed -e 's/'\/'\\/' -e 's/^/INSERT INTO oui VALUES \('\/g' -e 's/ (base 16)\t\t/'\, '\/g' -e 's/$/'\);/g' tmp.txt > insert.sql #in psql: #Tabelle erstellen CREATE TABLE oui ( mac varchar(6) primary key, name varchar(255)); #encoding setzen SET client_encoding to 'latin1'; #inserten... \i insert.sql #encoding zurueck setzen SET client_encoding to 'UTF8';