Чинить падающие копии
Когда копия падает, Dockstash говорит громко и показывает где: письмо с ошибкой, значок статуса на карточке проекта и полный вывод restic в панели живых логов. Этот гид проходит типовые формы сбоев — красные запуски, офлайн-агенты, тревога тишины — и их лечение.
Как это сделать
Начните с карточки проекта
Экран Projects показывает значок статуса, время последней копии и размер по каждому проекту. Упавший запуск приходит и письмом с ошибкой и прямой ссылкой — начинайте с любого. Детальный экран показывает подробности последнего сбоя напрямую.
Прочитайте вывод restic запуска
Откройте панель логов упавшего запуска. Последние строки почти всегда называют причину: authentication failed (SSH-ключ или учётные данные базы), no space left on device (диск хранения полон), connection refused (VPS хранения недоступен) или ошибка команды дампа из контейнера.
Устаревшие блокировки restic лечатся сами
Если запуск упал или сервер перезагрузился посреди копии, репозиторий может остаться заблокированным. Вмешиваться не нужно: следующий запуск найдёт осиротевшую блокировку и сам выполнит restic unlock. Блокировка живой задачи не ломается никогда.
Проекты на агентах: сперва проверьте агент
Если проект на агенте флота перестал резервироваться, посмотрите экран Fleet. Офлайн значит, что heartbeat прекратились: на VPS убедитесь, что оба контейнера агента запущены, адрес Dockstash доступен и токен не ротировали без обновления контейнера. Повторные 401 в логах — где-то стучится старый контейнер с отозванным токеном.
docker compose -f docker-compose.agent.yml psПонимайте оповещения «копия не запускалась»
Heartbeat-оповещение значит: в окне не приземлилась ни одна успешная копия — ничего не падало, ничего не запускалось. Обычные подозреваемые: расписание выключено, тариф без расписаний, проект на паузе после понижения тарифа, назначенный агент офлайн. Устраните причину — следующий зелёный запуск снимет тревогу.
Сделайте это в один клик с Dockstash
Dockstash выполняет ровно тот дамп, что выше, передаёт его restic вовне и автоматически проверяет восстановление тренировкой — без скриптов на поддержке.
Последнее обновление: July 2026
Связанные гиды
Подключить агент флота
Запустите маленький агент только с исходящим трафиком на любом VPS и резервируйте его контейнеры из одной панели — регистрация, установка, каталоги проектов и первое назначение.
Настроить оповещения и уведомления
Письма о сбоях, heartbeat типа «кнопки мертвеца» против тихих остановок, вебхуки в Slack или PagerDuty и неизменяемый журнал аудита.
MySQL
Резервируем MySQL в Docker
MongoDB
Резервируем MongoDB в Docker
Часто задаваемые вопросы
Копия упала раз и прошла при повторе. Волноваться?
Смотрите на причину сбоя. Задачи повторяются с ограниченным экспоненциальным бэкоффом: сетевые икоты лечатся сами. Повторяющиеся ретраи по одной и той же ошибке — заполняющийся диск, шаткий SSH — заслуживают настоящего лечения до того, как станут жёстким отказом.
Почему второе расписание ждёт вместо запуска?
Одна задача на репозиторий, всегда. Конкурентные операции restic портят репозитории, поэтому столкнувшиеся расписания на одном репозитории сериализуются намеренно. Разные репозитории работают параллельно.
Пикер Add-Project моего агента пуст. Почему?
Пикер читает снимок, отправленный агентом в последнем heartbeat. Пусто значит: агент ещё не отчитался, каталог проектов реально не смонтирован в контейнер агента, или прокси Docker-сокета недоступен — баннер пикера скажет, что именно. Исправьте и нажмите Refresh now, не дожидаясь следующего цикла обнаружения.
Как доказать здоровье самого репозитория?
Запустите задачу check. restic check проверяет структуру репозитория; с процентом чтения данных он также читает и проверяет реальное содержимое паков. Зачёт требует нулевого кода выхода — ложной зелени не бывает.
Где увидеть, почему упала тренировка?
Результат тренировки хранит сообщение с числом расхождений, видимое во вкладке Restore drill и в письме. Байтовые расхождения указывают на файлы, менявшиеся во время копии; строчные — на согласованность дампа; в обоих случаях считайте копию недоказанной, пока новый запуск не пройдёт.