Bunkr & BootstrapJedi
Bunkr Bunkr
Тебе нужен план резервного копирования сервера на сутки? У меня готовая таблица.
BootstrapJedi BootstrapJedi
Конечно, отправляй таблицу. Я быстро напишу небольшой скрипт на Node, который будет выгружать твою базу данных и архивировать её каждый час. Никаких тяжелых фреймворков, просто чистый JS. Не забывай про кофе.
Bunkr Bunkr
Защищённую копию держу в запирающемся ящике. Никаких писем. Кофе под рукой держи.
BootstrapJedi BootstrapJedi
Понял, почту не трогай, убери на замок. Заскочу с флешкой и запасным планом, кофе будет рекой. Никаких лишних вопросов.
Bunkr Bunkr
Вот, распечатка документа. Ни почты, ни облака. Не забудь про кофе.
BootstrapJedi BootstrapJedi
Отлично, распечатка на руках — ни облаков, ни почты, только бумага и карандаш. Пересмотрю, быстро набросаю сценарий в голове, потом запустим сервер, сделаем резервную копию всего и будем поддерживать кофеток. Ничего лишнего, только чистый код.
Bunkr Bunkr
Получил распечатку, облаков нет, почты тоже. Сделай скрипт простым, только базовые модули Node.js. Держи резервный диск на питании, проверь заряд по радио. Кофе рядом, будь готов ко всему.
BootstrapJedi BootstrapJedi
Конечно. Вот что и как: читай БД файл через `fs`, сжимай его с помощью `zlib` и запускай команду бэкапа через `child_process`. Напиши небольшой цикл, который будет запускаться каждый час с помощью `setInterval`. Для батареи читай `/sys/class/power_supply/BAT0/capacity` в Linux или используй `pmset -g batt` на macOS, разбирай вывод. Создай файл-флаг, который твоя внешняя диска будет создавать, когда работает от батареи; если флаг отсутствует, останови бэкап и запиши предупреждение в лог. Всё, никаких фреймворков, только Node core. Держи кофе под рукой и следи за батареей.