ALKIS-Größe Statistik anlegen

Aus kvwmap
Wechseln zu: Navigation, Suche

--Norman Schley (Diskussion) 11:13, 11. Jun. 2015 (CEST)--


Temp Verzeichnis von MapServer leeren

Das Leeren eines Verzeichnisses mag einfach erscheinen.

rm -R /var/www/tmp*

may do the job.

Aber so einfach ist das nicht. 1. Handelt es sich um sehr viele Dateien macht der rm Befehl so nicht mit. 2. Es sollen nicht alle Dateien gelöscht werden, sondern nur ältere mit denen nicht mehr gearbeitet wird.

Daher kommt eher folgender Befehl zur Anwendung:

find /var/www/tmp -mtime +1 ! -path /var/www/tmp -exec rm -rf {} +

Hier wird erst alles gelistet was älter als 1 Tag alt und in /var/www/tmp enthalten ist, außer /var/www/tmp selbst. Anschließend wird es dem rm Befehl übergeben und der löscht nach und nach alles weg. Diese Befehlszeile sollte vorzugsweise ein mal pro Tag innerhalb eines Cronjobs abgearbeitet werden. z.B. jeden Morgen 1:01

1 1 * * * find /var/www/tmp -mtime +1 ! -path /var/www/tmp -exec rm -rf {} +

Die find Befehlszeile kann auch in einem Bash-Script stehen, welches im Verzeichnis /etc/cron.daily abgelegt ist.

#!/bin/bash
TMP_DIR=/var/www/tmp
AGE=1
find ${TMP_DIR} -mtime +${AGE} ! -path ${TMP_DIR} -exec rm -rf {} +

Beschreibung

Falls man die Datenmengen von ALKIS etwas im Auge behalten möchte, kann man sich eine Tabelle innerhalb der PostgreSQL-DB anlegen. Man könnte jeden Tag ein Wert in diese Tabelle eintragen lassen, um zu sehen wie die Datenmengen sich verhalten. In dieser Version wird folgendes in die Tabelle geschrieben:

  • Spalte 1: gid - ist ein SERIAL und wird automatisch gefüllt
  • Spalte 2: Timestamp - aktueller Zeitstempel vom System
  • Spalte 3: DB Größe - zeigt die Gesamtgröße der Datenbank
  • Spalte 4: ALKIS-Schema Größe - zeigt die Gesamtgröße des ALKIS-Schemas
  • Spalte 5: reine ALKIS Tabellen Größe - zeigt die Größe der Tabellen, aus dem ALKIS-Schema, die durch die Fortführungen betroffen sind

Tabelle anlegen für die Einträge der ALKIS Größen

CREATE TABLE aaa_statistik
(
  gid serial NOT NULL,
  zeitstempel timestamp without time zone,
  db_groesse text,
  alkis_schema_groesse text,
  reine_alkis_tabellen_groesse text,
  CONSTRAINT aaa_statistik_pkey PRIMARY KEY (gid)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE aaa_statistik
  OWNER TO gisadmin;
COMMENT ON TABLE aaa_statistik
  IS 'Statistik: Datenbankgröße, Schemagröße';

Hat man die Tabelle in PostgreSQL angelegt kann man ein CRON-JOB anlegen der dann jeden Abend die Größen ausliest über ein SQL Script.


SQL-Script für das Befüllen der Tabelle

INSERT INTO aaa_statistik (zeitstempel, db_groesse, alkis_schema_groesse, reine_alkis_tabellen_groesse)
VALUES (
current_timestamp,
(SELECT pg_size_pretty(pg_database_size('eure_datenbank')) As db_groesse),
(select pg_size_pretty(CAST((SELECT
SUM(pg_total_relation_size(table_schema || '.' || table_name) )
FROM information_schema.tables
WHERE table_schema = 'alkis') As bigint) )  As alkis_schema_groesse),
(SELECT pg_size_pretty(pg_total_relation_size('alkis.alkis_beziehungen')
+pg_total_relation_size('alkis.ap_darstellung')
+pg_total_relation_size('alkis.ap_lpo')
+pg_total_relation_size('alkis.ap_lto')
+pg_total_relation_size('alkis.ap_ppo')
+pg_total_relation_size('alkis.ap_pto')
+pg_total_relation_size('alkis.ax_anderefestlegungnachstrassenrecht_artdf')
+pg_total_relation_size('alkis.ax_anderefestlegungnachwasserrecht')
+pg_total_relation_size('alkis.ax_anderefestlegungnachwasserrecht_artdf')
+pg_total_relation_size('alkis.ax_anschrift')
+pg_total_relation_size('alkis.ax_anschrift_temp')
+pg_total_relation_size('alkis.ax_aufnahmepunkt')
+pg_total_relation_size('alkis.ax_bahnverkehr')
+pg_total_relation_size('alkis.ax_bahnverkehrsanlage')
+pg_total_relation_size('alkis.ax_baublock')
+pg_total_relation_size('alkis.ax_bauraumoderbodenordnungsrecht')
+pg_total_relation_size('alkis.ax_bauraumoderbodenordnungsrecht_artderfestlegung')
+pg_total_relation_size('alkis.ax_bauteil')
+pg_total_relation_size('alkis.ax_bauteil_bauart')
+pg_total_relation_size('alkis.ax_bauwerkimgewaesserbereich')
+pg_total_relation_size('alkis.ax_bauwerkimverkehrsbereich')
+pg_total_relation_size('alkis.ax_bauwerkoderanlagefuerindustrieundgewerbe')
+pg_total_relation_size('alkis.ax_bauwerkoderanlagefuersportfreizeitunderholung')
+pg_total_relation_size('alkis.ax_bergbaubetrieb')
+pg_total_relation_size('alkis.ax_besondereflurstuecksgrenze')
+pg_total_relation_size('alkis.ax_besonderegebaeudelinie')
+pg_total_relation_size('alkis.ax_besondererbauwerkspunkt')
+pg_total_relation_size('alkis.ax_besonderergebaeudepunkt')
+pg_total_relation_size('alkis.ax_besondererhoehenpunkt')
+pg_total_relation_size('alkis.ax_besonderertopographischerpunkt')
+pg_total_relation_size('alkis.ax_bewertung')
+pg_total_relation_size('alkis.ax_bewertung_klassifizierung')
+pg_total_relation_size('alkis.ax_bodenschaetzung')
+pg_total_relation_size('alkis.ax_bodenschaetzung_bodenart')
+pg_total_relation_size('alkis.ax_bodenschaetzung_entstehungsartoderklimastufe')
+pg_total_relation_size('alkis.ax_bodenschaetzung_kulturart')
+pg_total_relation_size('alkis.ax_bodenschaetzung_sonstigeangaben')
+pg_total_relation_size('alkis.ax_bodenschaetzung_zustandsstufe')
+pg_total_relation_size('alkis.ax_boeschungkliff')
+pg_total_relation_size('alkis.ax_boeschungsflaeche')
+pg_total_relation_size('alkis.ax_buchungsblatt')
+pg_total_relation_size('alkis.ax_buchungsblattbezirk')
+pg_total_relation_size('alkis.ax_buchungsstelle')
+pg_total_relation_size('alkis.ax_buchungsstelle_buchungsart')
+pg_total_relation_size('alkis.ax_bundesland')
+pg_total_relation_size('alkis.ax_dammwalldeich')
+pg_total_relation_size('alkis.ax_datenerhebung')
+pg_total_relation_size('alkis.ax_denkmalschutzrecht')
+pg_total_relation_size('alkis.ax_denkmalschutzrecht_artdf')
+pg_total_relation_size('alkis.ax_dienststelle')
+pg_total_relation_size('alkis.ax_duene')
+pg_total_relation_size('alkis.ax_einrichtungenfuerdenschiffsverkehr')
+pg_total_relation_size('alkis.ax_einrichtunginoeffentlichenbereichen')
+pg_total_relation_size('alkis.ax_felsenfelsblockfelsnadel')
+pg_total_relation_size('alkis.ax_firstlinie')
+pg_total_relation_size('alkis.ax_flaechebesondererfunktionalerpraegung')
+pg_total_relation_size('alkis.ax_flaechegemischternutzung')
+pg_total_relation_size('alkis.ax_fliessgewaesser')
+pg_total_relation_size('alkis.ax_flugverkehr')
+pg_total_relation_size('alkis.ax_flugverkehrsanlage')
+pg_total_relation_size('alkis.ax_flurstueck')
+pg_total_relation_size('alkis.ax_forstrecht')
+pg_total_relation_size('alkis.ax_forstrecht_artderfestlegung')
+pg_total_relation_size('alkis.ax_forstrecht_besonderefunktion')
+pg_total_relation_size('alkis.ax_fortfuehrungsfall')
+pg_total_relation_size('alkis.ax_fortfuehrungsnachweisdeckblatt')
+pg_total_relation_size('alkis.ax_friedhof')
+pg_total_relation_size('alkis.ax_gebaeude')
+pg_total_relation_size('alkis.ax_gebaeude_bauweise')
+pg_total_relation_size('alkis.ax_gebaeude_dachform')
+pg_total_relation_size('alkis.ax_gebaeude_funktion')
+pg_total_relation_size('alkis.ax_gebaeude_weiterefunktion')
+pg_total_relation_size('alkis.ax_gebaeude_zustand')
+pg_total_relation_size('alkis.ax_gebaeudeausgestaltung')
+pg_total_relation_size('alkis.ax_gehoelz')
+pg_total_relation_size('alkis.ax_gelaendekante')
+pg_total_relation_size('alkis.ax_gemarkung')
+pg_total_relation_size('alkis.ax_gemarkungsteilflur')
+pg_total_relation_size('alkis.ax_gemeinde')
+pg_total_relation_size('alkis.ax_gemeindeteil')
+pg_total_relation_size('alkis.ax_georeferenziertegebaeudeadresse')
+pg_total_relation_size('alkis.ax_gewaessermerkmal')
+pg_total_relation_size('alkis.ax_gleis')
+pg_total_relation_size('alkis.ax_grablochderbodenschaetzung')
+pg_total_relation_size('alkis.ax_grablochderbodenschaetzung_bedeutung')
+pg_total_relation_size('alkis.ax_grenzpunkt')
+pg_total_relation_size('alkis.ax_hafenbecken')
+pg_total_relation_size('alkis.ax_halde')
+pg_total_relation_size('alkis.ax_heide')
+pg_total_relation_size('alkis.ax_heilquellegasquelle')
+pg_total_relation_size('alkis.ax_historischesbauwerkoderhistorischeeinrichtung')
+pg_total_relation_size('alkis.ax_historischesflurstueck')
+pg_total_relation_size('alkis.ax_historischesflurstueckalb')
+pg_total_relation_size('alkis.ax_historischesflurstueckohneraumbezug')
+pg_total_relation_size('alkis.ax_hoehenlinie')
+pg_total_relation_size('alkis.ax_hoehleneingang')
+pg_total_relation_size('alkis.ax_industrieundgewerbeflaeche')
+pg_total_relation_size('alkis.ax_klassifizierungnachstrassenrecht')
+pg_total_relation_size('alkis.ax_klassifizierungnachstrassenrecht_artdf')
+pg_total_relation_size('alkis.ax_klassifizierungnachwasserrecht')
+pg_total_relation_size('alkis.ax_klassifizierungnachwasserrecht_artdf')
+pg_total_relation_size('alkis.ax_kleinraeumigerlandschaftsteil')
+pg_total_relation_size('alkis.ax_kommunalesgebiet')
+pg_total_relation_size('alkis.ax_kreisregion')
+pg_total_relation_size('alkis.ax_lagebezeichnungkatalogeintrag')
+pg_total_relation_size('alkis.ax_lagebezeichnungmithausnummer')
+pg_total_relation_size('alkis.ax_lagebezeichnungmitpseudonummer')
+pg_total_relation_size('alkis.ax_lagebezeichnungohnehausnummer')
+pg_total_relation_size('alkis.ax_landwirtschaft')
+pg_total_relation_size('alkis.ax_leitung')
+pg_total_relation_size('alkis.ax_meer')
+pg_total_relation_size('alkis.ax_moor')
+pg_total_relation_size('alkis.ax_musterlandesmusterundvergleichsstueck')
+pg_total_relation_size('alkis.ax_musterlandesmusterundvergleichsstueck_merkmal')
+pg_total_relation_size('alkis.ax_namensnummer')
+pg_total_relation_size('alkis.ax_namensnummer_eigentuemerart')
+pg_total_relation_size('alkis.ax_naturumweltoderbodenschutzrecht')
+pg_total_relation_size('alkis.ax_naturumweltoderbodenschutzrecht_artdf')
+pg_total_relation_size('alkis.ax_person')
+pg_total_relation_size('alkis.ax_platz')
+pg_total_relation_size('alkis.ax_punktkennunguntergegangen')
+pg_total_relation_size('alkis.ax_punktortag')
+pg_total_relation_size('alkis.ax_punktortau')
+pg_total_relation_size('alkis.ax_punktortta')
+pg_total_relation_size('alkis.ax_regierungsbezirk')
+pg_total_relation_size('alkis.ax_reservierung')
+pg_total_relation_size('alkis.ax_schifffahrtsliniefaehrverkehr')
+pg_total_relation_size('alkis.ax_schiffsverkehr')
+pg_total_relation_size('alkis.ax_schutzgebietnachnaturumweltoderbodenschutzrecht')
+pg_total_relation_size('alkis.ax_schutzgebietnachnaturumweltoderbodenschutzrecht_artdf')
+pg_total_relation_size('alkis.ax_schutzgebietnachwasserrecht')
+pg_total_relation_size('alkis.ax_schutzgebietnachwasserrecht_artdf')
+pg_total_relation_size('alkis.ax_schutzzone')
+pg_total_relation_size('alkis.ax_seilbahnschwebebahn')
+pg_total_relation_size('alkis.ax_sicherungspunkt')
+pg_total_relation_size('alkis.ax_soll')
+pg_total_relation_size('alkis.ax_sonstigervermessungspunkt')
+pg_total_relation_size('alkis.ax_sonstigesbauwerkodersonstigeeinrichtung')
+pg_total_relation_size('alkis.ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion')
+pg_total_relation_size('alkis.ax_sonstigesrecht')
+pg_total_relation_size('alkis.ax_sonstigesrecht_artdf')
+pg_total_relation_size('alkis.ax_sportfreizeitunderholungsflaeche')
+pg_total_relation_size('alkis.ax_stehendesgewaesser')
+pg_total_relation_size('alkis.ax_strassenverkehr')
+pg_total_relation_size('alkis.ax_strassenverkehrsanlage')
+pg_total_relation_size('alkis.ax_sumpf')
+pg_total_relation_size('alkis.ax_tagebaugrubesteinbruch')
+pg_total_relation_size('alkis.ax_tagesabschnitt')
+pg_total_relation_size('alkis.ax_topographischelinie')
+pg_total_relation_size('alkis.ax_transportanlage')
+pg_total_relation_size('alkis.ax_turm')
+pg_total_relation_size('alkis.ax_unlandvegetationsloseflaeche')
+pg_total_relation_size('alkis.ax_untergeordnetesgewaesser')
+pg_total_relation_size('alkis.ax_vegetationsmerkmal')
+pg_total_relation_size('alkis.ax_vertretung')
+pg_total_relation_size('alkis.ax_verwaltung')
+pg_total_relation_size('alkis.ax_verwaltungsgemeinschaft')
+pg_total_relation_size('alkis.ax_vorratsbehaelterspeicherbauwerk')
+pg_total_relation_size('alkis.ax_wald')
+pg_total_relation_size('alkis.ax_wasserspiegelhoehe')
+pg_total_relation_size('alkis.ax_weg')
+pg_total_relation_size('alkis.ax_wegpfadsteig')
+pg_total_relation_size('alkis.ax_wohnbauflaeche')
+pg_total_relation_size('alkis.ax_wohnplatz')
) as reine_alkis_tabellen_groesse)
);

Hinweis: Ihr könntet jetzt auch noch einzelne Tabellen hinzufügen oder entfernen.