OpenWRT + SQLite

OpenWRT + SQLite

Ich habe ein persönliches Projekt, bei dem ich Openwrt + Python + SQLite auf einem kleinen Router mit kaum Platz (16 MB) laufen lasse. Zum Speichern der Datenbank verwende ich eine USB/SD-Karte, die an den Router angeschlossen ist.

In regelmäßigen Abständen möchte ich die DB-Einträge nehmen und sie auf einem Remote-MySQL-Linux-Server speichern, um etwas Speicherplatz freizugeben.

Was wäre hier die beste Lösung? MySQL im Router implementieren, damit der Linux-Server eine Remoteverbindung zum Router herstellen und die Einträge herausnehmen kann, oder einfach die .db-Datei herunterladen und sie regelmäßig im Linux-Server in MySQL konvertieren? Noch andere Ideen?

Antwort1

Versuchen Sie abzuschätzen oder zu berechnen, ob Sie den gesamten Speicherplatz wirklich nutzen werden. Aus Marketinggründen gehen wir davon aus, dass 8 MB freier Speicherplatz wirklich knapp sind (im Vergleich zu TB der verfügbaren Festplatten). Ich habe ausgerechnet, dass meine Heimautomatisierung auf einem GL-AR150 die Daten der nächsten 5 Jahre speichern wird.

Bei einigen Routern besteht die Möglichkeit, eine SD-Karte, einen externen USB-Stick oder eine Festplatte hinzuzufügen. Normalerweise speichere ich einige Schnappschüsse meiner Überwachungs-Webcam per Trigger. Warum nicht die gesamte Datenbank auf einem externen Speicher hosten?

Wenn Sie nur eine kleine Datenmenge haben (Ihr Breitband wird 2 Tage lang nicht zu 100 % ausgelastet), können Sie per Cron einen Datenupload auf einen Linux-Server planen. Im Grunde ruft das Skript eine Remote-PHP-Datei auf, die die Daten aus Ihrer SQLite-Datenbank abruft und in die MySQL-Datenbank einfügt. Danach wird ein Flag für die hochgeladenen Zeilen gesetzt, damit Sie sie beim nächsten Mal nicht abrufen. Oder wenn Sie eine Echtzeituhr haben, könnte das Flag die Datums- und Uhrzeitangabe Ihres Linux-Routers sein, die Sie in der MySQL-Datenbank speichern.

verwandte Informationen