У меня есть личный проект, в котором у меня Openwrt + Python + SQLite, работающий на маленьком маршрутизаторе, на котором почти нет места (16Mb). Для хранения базы данных я использую USB/SD-карту, подключенную к роутеру.

Периодически я хотел бы взять записи БД и сохранить их на удаленном сервере MySQL Linux, чтобы освободить место.

Каково было бы лучшее решение здесь? Внедрить MySQL в маршрутизатор, чтобы сервер Linux мог удаленно подключаться к маршрутизатору и извлекать записи или просто загружать файл .db и периодически преобразовывать его на сервере Linux в MySQL? любые другие иды?

1 ответ1

2

Попробуйте оценить или рассчитать, вы действительно будете использовать все пространство? По некоторым маркетинговым причинам мы думаем, что 8 МБ свободного места очень мало (по сравнению с Tb доступных жестких дисков). Я понял, что моя домашняя автоматизация на GL-AR150 сохранит данные следующих 5 лет.

На некоторых маршрутизаторах есть возможность добавить SD-карту, внешний USB-накопитель или жесткий диск. Обычно я сохраняю несколько снимков с моей веб-камеры наблюдения по триггерам. Почему бы не рассмотреть возможность размещения всей БД на внешнем хранилище?

Если у вас есть небольшой объем данных (без загрузки вашей широкополосной связи на 100% в течение 2 дней), вы можете запланировать через cron загрузку данных на сервер linux. По сути, скрипт вызывает удаленный php-файл, который извлекает данные из вашей базы данных sqlite и вставляет в файл mysql. После чего он устанавливает флажок для загруженных строк, поэтому вы не получите его в следующий раз. Или, если у вас есть RTC, то флаг может быть вашим роутером linux datetime, который вы храните в mysql db.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .