Руководство — эксплуатация: бекапы, уход, поломки
Завершение Большого руководства. Сервер работает — держим его здоровым: резервные копии, регулярный уход, что делать при сбоях.
← Назад: Дальше: 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-кластер · Начало