Hallo zusammen!
Mühsam ernährt ich das Eichhörnchen. Aber irgendwie kommt es wohl über den Winter *gg*
Ich mache Fortschritte. Allerdings frage ich mich gerade, ob ich mich total ungeschickt verhalte, und das nicht effizienter gemacht werden könnte.
Gebt mir doch mal bitte Feedback, falls ich zu kompliziert vorgehe.
Ich tue mir insbesondere schwer, in diesem CPAN Verzeichnis die richtigen Module zu finden. Entweder suche ich falsch und finde nichts, oder ich finde 20 Module die alle das gleiche machen (aus Sicht eines Laien zumindest)
Mein Vorgehen hat sich doch etwas geändert:
1) ich kann mich nun doch mit der Remote-Datenbank verbinden. Mein Provider hat den Zugang eingerichtet.
2) für's erste werde ich nicht (mühsam) erforschen, welche Unterverzeichnisse sich veränderten oder nicht. (mit Inotify oder so).
3) stattdessen werde ich jedesmal komplett durch alle Verzeichnisse laufen.
4) dann lese ich die Sachen ein und schreibe sie in ein SQLite Datenbank hier lokal.
5) Wenn ich diese Zeile bereits habe, dann prüfe ich lediglich ob sich der Status des Caches geändert hat
6) wenn ja, dann ändere ich den Status und merke mir das in einer Zusatzspalte mit dem Kommentar "UPDATE". Sonst lass' ich diese Zeile fallen.
7) Wenn ich die Zeile noch nicht habe, dann schreibe ich die ganze Zeile und merke mir dies als "NEW"
8) Anschließend kopiere ich die Zeilen mit NEW und UPDATE von der SQLite-Datei auf den Remote-Server
Noch nicht gelöst habe ich:
a) Ich muss die Zeilen noch sortieren. Da ist eine Datumsstring in der notes.txt Datei drin. Das Sortieren müsste dann aber gesehen, bevor ich in die lokale Datenbank schreibe, nur habe ich da keine Idee.
b) ich bekomme das rekursive Öffnen der Verzeichnisse noch nicht hin.
Bisher ist alles nur rudimentär, aber es funktioniert jetzt:
1) ich kann den Pfad zum Arbeitsverzeichnis auslesen aus der Config-Datei von Geolog.pl
2) ich kann dann zu dem Verzeichnis wechseln
3) ich kann mich mit den Datenbanken verbinden
Und hier mal mein Skript.
more (26.0kb)
Ich würde gerne ein paar Abkürzungen nehmen.
Allerdings weiß ich nicht wie:
1) ich kenne den genauen Namen meiner "Schlüssel" in den Dateien.
Kann ich das einlesen der Dateien auf 1-2 Zeilen reduzieren mit eines geeigneten Moduls ?
2) außerdem weiß ich, dass sämtliche Verzeichnisse dem Muster xxxxxxxxx_GCyyyyy entsprechen. Kann ich davon profitieren, wenn ich auf ein paarmal Fehlerabfangen verzichte ?
Viele Grüße und schöne Feiertage!
Marcus
modedit Editiert von pq: more-tags um code hinzugefügt
Last edited: 2012-04-06 17:28:52 +0200 (CEST)