Руководство — эксплуатация: бекапы, уход, поломки

Завершение Большого руководства. Сервер работает — держим его здоровым: резервные копии, регулярный уход, что делать при сбоях.

← Назад: Дальше: nginx/Docker/k8s/PG-кластер · Начало


9. Бекапы

sudo mitdev backup

Архив в /home/deploy/backups/: код проектов, все .env, конфиги nginx, дампы баз (PostgreSQL/Redis/MongoDB), SSL, cron, ssh-ключи, RabbitMQ, MinIO (что установлено). Скачайте его с сервера (бекап на том же сервере — не бекап):

scp deploy@сервер:backups/mitdev-backup-*.tar.gz ./

Восстановление на этом же или новом сервере: sudo mitdev restore <архив>. Заливка только базы в кластер: sudo mitdev pg import <файл> [база]. Docker-тома — sudo mitdev backup --volumes.

Автоматизация — штатный cron:

echo '0 3 * * * root /usr/local/bin/mitdev backup >>/var/log/mitdev/backup.log 2>&1' | sudo tee /etc/cron.d/mitdev-backup

10. Повседневный уход

Команда Когда
mitdev doctor раз в неделю и при любых сомнениях; код выхода ≠ 0 — есть проблемы (удобно для мониторинга)
mitdev doctor --deep реальные пробы служб (nginx отвечает, PG принимает, Redis PONG, SSL валиден, бекап свежий)
sudo mitdev update раз в 1–2 недели: система, docker, node, pm2 (со снимком конфигов)
sudo mitdev self-update когда на сервере установки вышла новая версия mitdev
sudo mitdev clean когда doctor ругается на диск
mitdev info вспомнить, что где установлено
mitdev logs быстрый доступ ко всем журналам

SSL-сертификаты продлеваются сами. Пароли служб — sudo cat /root/.mitdev-credentials. Повторный запуск install.sh безопасен и сохраняет настройки (порт SSH, пользователя, политику) — так добавляют новые компоненты на существующий сервер.

Перенос сервера на другой VPS: mitdev export --secrets (конфигурация) + mitdev backup (данные) → на новом сервере mitdev import + mitdev restore.

11. Что-то сломалось

Порядок действий всегда один:

mitdev doctor                                # что именно не так?
sudo tail -50 /var/log/mitdev/errors.log     # текст ошибки

Дальше — TROUBLESHOOTING.md: там разобраны типовые случаи (SSH-доступ, sudo-пароль, Docker, конфликт портов k3s/nginx, репликация, VIP, прокси БД, self-update) с готовыми командами. Если случай не описан — идите в issues проекта с выводом mitdev doctor и фрагментом errors.log.


← Назад: Дальше: nginx/Docker/k8s/PG-кластер · Начало