OpenWRT + SQLite [kapalı]


0

Neredeyse herhangi bir alana (16Mb) sahip küçük bir yönlendirici çalışan Openwrt + Python + SQLite olan kişisel bir projem var. Veritabanını depolamak için yönlendiriciye bağlı bir USB / SD kart kullanıyorum.

Periyodik olarak DB girişlerini alıp uzak bir MySQL Linux sunucusunda saklamak istiyorum, böylece biraz yer açabilirim.

Buradaki en iyi çözüm ne olurdu? MySQL'i yönlendiriciye uygulayın; böylece Linux sunucusu yönlendiriciye uzaktan bağlanabilir ve girişleri alabilir ya da .db dosyasını indirebilir ve düzenli olarak Linux Sunucusunda MySQL'e dönüştürebilir mi? başka bir isim var mı?


Süper kullanıcı bu tür sorular sormak için doğru yer mi?
Joe

Yanıtlar:


2

Tahmin etmeye veya hesaplamaya çalış, gerçekten tüm alanı kullanacak mısın? Bazı pazarlama nedenlerinden dolayı 8Mb boş alanın gerçekten dar olduğunu düşünüyoruz (mevcut HDD'lerin Tb'leriyle karşılaştırıldığında). Bir GL-AR150'deki ev otomasyonumun önümüzdeki 5 yılın verilerini tutacağını düşündüm.

Bazı yönlendiricilerde bir SD kart, harici USB bellek veya bir HDD ekleme imkanı vardır. Genelde bazı web kameralarını tetikleyiciler tarafından gözetleme web kameramdan saklıyorum. Neden tüm DB'yi harici bir depoda barındırmayı düşünmüyorsunuz?

Az miktarda veriye sahipseniz (genişbantınızı 2 gün boyunca% 100 yüklemiyorsanız), cron aracılığıyla linux sunucusuna bir veri yüklemesi zamanlayabilirsiniz. Temelde script sqlite db'nizden veri alan ve mysql one'a ekleyen uzak bir php dosyası çağırıyor. Yüklenen satırlara bir bayrak ayarladıktan sonra, bir dahaki sefere getiremezsiniz. Ya da bir RTC'niz varsa, bayrak mysql db'de tuttuğunuz linux datetime sunucunuz olabilir.


Ey! Harika fikir için teşekkürler. Şu anda, sorumu GL-MT300A kullanarak sorumuzda açıklandığı gibi bir SD kartta saklıyorum. Her gün DB'yi linux sunucusuna indirmek için python için Expect'i kullanmayı düşünüyordum. PHP nasıl görünür? Yani cron işi sırayla DB han yönlendirici bağlamak için hangi php arayacak?
Joe

Neyi kullandığınıza bağlı olarak (PDO, prosedürel vb.). Ama genel olarak: SQLite'a bağlan> veri dizisini bir değişkene getir> MySQL'e bağlan ve yeni verileri ekle> eklenmiş
olanı kontrol et> SQLite'daki
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.