Обновление через терминал
Архивы и конфигурация Updater, установка, проверка, продолжение и восстановление через команды
Используйте Updater на сервере для установки проверенной пары ZIP. Файлы могут находиться в локальном каталоге или поступать по прямым HTTPS-адресам. Для каждой операции сохраняйте отдельную полную конфигурацию, исходные архивы и отчёт.
Готовый промпт для обновления через терминал
Укажите фактический сервер, пути к двум ZIP или их HTTPS-адреса и путь к полной конфигурации операции. Секретные данные передавайте отдельно через предусмотренный защищённый способ.
Подготовка сервера
Для подключения используйте своего SSH-пользователя и адрес сервера:
ssh SSH_USER@SERVER_IPЗамените SSH_USER и SERVER_IP фактическими значениями. После подключения выполните:
sudo /usr/local/sbin/iex-updater version
sudo /usr/local/sbin/iex-updater status
sudo /usr/local/sbin/iexctl services verify
sudo /usr/local/sbin/iexctl backup statusСверьте текущую версию, состояние обслуживания, служб и предыдущих операций. Если сервер ожидает восстановления, сначала завершите его.
Проверьте резервное копирование
Updater проверяет службу резервного копирования и создаёт полную копию до изменения работающей версии. После включения режима обслуживания и остановки служб, изменяющих данные, он сохраняет согласованную точку восстановления основной базы и базы Pulse.
Полная копия и точка восстановления баз решают разные задачи. Наличие скачанных ZIP или готового плана не означает, что эти копии уже созданы: резервное копирование выполняется при установке.
Технический специалист может проверить состояние резервного копирования командой:
Если резервное копирование недоступно или завершалось ошибкой, устраните причину до установки. Оставьте обязательные проверки резервного копирования и режима обслуживания включёнными.
Подробное управление копиями описано в статье «Создание резервной копии».
Проверьте службу обновлений
Панель передаёт операции серверному агенту Update Agent. Через него выполняются проверка архивов, установка, продолжение, откат и удаление сохранённых версий.
Если раздел показывает «Обновления временно недоступны», прочитайте указанную причину. Технический специалист проверяет сервер:
Недоступность агента, несовместимая версия службы и незавершённая операция требуют разных действий. Не заменяйте их повторной загрузкой архивов.
Для фоновой подготовки также должен работать планировщик приложения. Если задача сохраняется в разделе, но подготовка не продвигается, проверьте планировщик и службы системы.
Установка обновления
Подготовьте архивы и полную конфигурацию
Для каждой операции используйте отдельный каталог. В примере это /home/iex-updates/RELEASE_ID; замените RELEASE_ID уникальным обозначением операции и используйте этот же путь во всех последующих фрагментах.
Используйте новый каталог, в котором ещё нет файлов другой операции. Не перезаписывайте комплект и конфигурацию незавершённого запуска.
/etc/iexexchanger/update.yaml — стандартный базовый конфиг. Если он размещён иначе, скопируйте действующий полный файл по фактическому пути. Сохраняйте остальные параметры установки.
Откройте копию конфигурации в текстовом редакторе:
Выберите один источник комплекта:
Загрузите пару ZIP через SFTP или SCP. В командах замените /home/SSH_USER/iex-upload фактическим абсолютным путём к каталогу передачи.
Для локального варианта скопируйте два переданных файла в этот каталог:
В существующей структуре spec задайте источник двух файлов и встроенный план. Следующий блок — фрагмент полного файла, а не замена всей конфигурации:
Не создавайте второй раздел spec или второй блок input: измените соответствующие значения в скопированном полном файле. Оставьте действующими параметры состояния установки, резервного копирования, обслуживания, каталогов и канала.
Для прямых доверенных HTTPS-адресов задайте источники файлов в копии полной конфигурации:
files.example.com — пример: замените его предоставленными адресами файлов одного релиза. Updater получает архивы на сервер, затем выполняет те же проверки комплекта и плана.
Адрес должен отдавать ZIP, а не страницу входа или карточку релиза. Временные ссылки должны действовать на время получения файлов. Не отключайте проверку HTTPS или сетевые ограничения для обхода ошибки загрузки.
Подтверждённое подключение «Обновления с сервера» обслуживается агентом и панелью. В обычном CLI используйте поддерживаемый режим loose с локальными или HTTPS-файлами. Отдельной команды iex-updater download для этого подключения нет.
Если применяется новый ZIP лицензии
Поместите его в каталог операции с владельцем root:root и правами 0600. Внутри spec.input.loose, рядом с backend и frontend, добавьте:
Укажите фактическое имя официального ZIP для этого домена. Если у источника уже заданы sha256 и sizeBytes, они должны соответствовать выбранному файлу.
Если новая лицензия не применяется, дополнительный источник не нужен. При уже существующем источнике проверьте, что он соответствует этой операции и доступен Updater.
Проверьте конфигурацию и план
В той же SSH-сессии выполните по очереди:
Переходите к следующей команде после устранения ошибок предыдущей. Проверьте исходную и целевую версии, маршрут, контрольные суммы, обязательное копирование, обслуживание и изменения окружения.
В checklist могут быть перечислены возможности, не используемые выбранным режимом. Например, отметка о неподключённом input.remote-api сама по себе не запрещает поддерживаемую установку через loose и builtin. Оценивайте ошибки готовности выбранного способа.
Затем выполните предварительную проверку этапов:
plan и apply --dry-run не выполняют установку. Они не заменяют создание копии при реальном запуске и не резервируют место на диске. Если предварительная проверка завершилась ошибкой, устраните её до apply.
Запустите установку
После проверки плана и согласования времени выполните:
Запустите команду один раз и дождитесь результата. Сохраняйте эту SSH-сессию на время выполнения. При потере соединения сначала выясните, продолжает ли работать существующий процесс.
Параллельный запуск из панели, перезапись конфигурации или замена ZIP во время операции недопустимы.
Проверьте отчёт операции
Сверьте время и идентификатор запуска: последний отчёт должен относиться к выполненной операции. Для конкретного запуска используйте:
Замените RUN_ID идентификатором из списка отчётов. Сохраните исходную и целевую версии, статус, идентификатор и путь к отчёту.
После успешного результата выполните проверки из раздела «Проверка после обновления» этой инструкции.
Проверка после обновления
Проверьте сервер
После подтверждённого успешного обновления, отката или возврата выполните:
Текущая версия должна совпадать с результатом операции, обслуживание — быть выключено, управляемые службы — работать. Для агента ожидаются enabled и active. Ошибки относящихся к обменнику служб требуют диагностики.
Если сохранились Installer и исходный файл установки, дополнительно используйте проверки по их фактическим путям. В следующем примере предполагается, что файлы находятся в /home/installer; замените пути своим расположением:
При отсутствии сохранённой конфигурации не создавайте её наугад для проверки. Используйте остальные команды и восстановите проверочную конфигурацию с техническим специалистом.
Проверьте сайт и панель
Откройте клиентский сайт https://ваш_домен и сохранённый адрес входа в панель на серверной части https://app.ваш_домен.
Проверьте:
Оба домена доступны по HTTPS.
Сайт загружается и показывает ожидаемые страницы, направления и курсы.
Вход в административную панель работает.
Разделы панели открываются после перезагрузки страницы.
В обновлениях отображается правильная текущая версия.
Режим обслуживания завершён.
API, WebSocket и используемые интеграции работают.
Основные функции, затронутые релизом, проходят согласованный тестовый сценарий.
Ошибки 500, бесконечная загрузка и недоступность ключевых функций требуют проверки даже при успешном серверном отчёте. Для проверки создания заявок используйте согласованный сценарий: такие действия могут отправлять уведомления и обращаться к интеграциям.
Сохраните резервную копию и результат
После проверки создайте отдельную резервную копию новой версии:
Убедитесь, что копия завершилась успешно и время последнего копирования обновилось. Ошибка новой копии требует исправления резервного копирования; повторно устанавливать уже принятую версию для этого не нужно.
Сохраните отчёт операции, исходную и целевую версии, дату и ответственного специалиста. В отчёте должны быть подтверждены резервное копирование и точки обеих баз. Прежний релиз и точки возврата оставьте на период проверки; оригинальные файлы храните вне обновляемого сервера.
Обновление завершено после подтверждения серверного результата, работы публичных доменов и основных функций, завершения обслуживания и сохранения проверенной резервной копии новой версии.
Продолжение и восстановление
Если прервалась SSH-сессия
Для операции, первоначально запущенной из терминала, используйте прежний полный конфиг по прежнему абсолютному пути:
Сначала убедитесь, что прежний процесс завершился и на сервере не выполняется другая операция.
Для --resume сохраняйте исходные ZIP, их содержимое, полный конфиг и путь к нему. Новая SSH-сессия не сохраняет переменную IEX_UPDATE_CONFIG: задайте её заново тем же значением.
Операция панели использует собственную сохранённую конфигурацию агента. Подмена её обычным /etc/iexexchanger/update.yaml не продолжает ту же попытку. Для такой операции используйте интерфейс либо восстановление специалистом по её отчёту и фактическому пути конфигурации.
Восстановление неуспешной установки
Команда recover-failed возвращает рабочую принятую версию после определённого типа сбоя: обновление уже сохранило точку обеих баз, но новая версия ещё не принята и её успешное состояние не зафиксировано.
Это отдельная операция восстановления. Для успешно принятой новой версии применяется штатный откат. Возможность восстановления проверяется по защищённому журналу и сохранённым точкам.
Технический специалист выбирает фактический полный конфиг проблемной операции и сначала проверяет восстановление:
Если проверка подтверждает нужную рабочую версию и сохранённые данные, выполняет:
Для продолжения уже начатого и прерванного восстановления:
После результата проверьте состояние и отчёт:
После успешного восстановления прежняя попытка обновления закрывается. Для исправленных архивов создайте новую подготовку; продолжать старый apply --resume после восстановления нельзя.
Восстановление баз возвращает данные к сохранённой точке. Не отключайте обслуживание вручную и не восстанавливайте одну базу отдельно: код, основная база и Pulse должны соответствовать друг другу.
Диагностика для поддержки
Подготовьте способ запуска, время, идентификатор операции, исходную и целевую версии, название остановившегося этапа, код ошибки и рекомендацию системы.
Для серверной диагностики технический специалист может выполнить:
Для отката используйте reports show rollback, для восстановления — reports show recovery. Команда support bundle показывает путь к диагностическому комплекту.
Передавайте материалы через защищённый канал. Не добавляйте отдельно .env, пароли, приватные ключи, cookie, коды подтверждения, ZIP лицензии и дампы баз.
Откат и возврат через терминал
Откат нужен при подтверждённой проблеме уже установленной новой версии. Он является отдельной операцией с планом, проверками и резервным копированием.
Откат возвращает код и обе базы данных к сохранённому состоянию выбранной версии. Данные, созданные или изменённые после этой точки, будут потеряны. Перед подтверждением оцените последствия для заявок, платежей, пользователей и других данных.
Для быстрого отката должны сохраниться файлы версии и подтверждённые данные восстановления. Наличие записи о старой версии само по себе не гарантирует возможность отката.
rollback выбирает сохранённый предыдущий релиз. Произвольную старую версию нельзя выбрать только по номеру.
Используйте действующую полную конфигурацию и задайте её фактический путь в IEX_UPDATE_CONFIG. Сначала проверьте план:
После проверки версии назначения и точек обеих баз запустите:
Для продолжения этого же прерванного отката:
После завершения:
При успешном откате ранее активная версия становится предыдущей. Если она сохранена и возврат допустим, новая команда rollback --dry-run покажет переход к ней. Возврат выполняется новой операцией rollback; rollback --resume продолжает уже начатый откат.
После отката или возврата повторите проверки сервера, сайта и обеих баз. Данные версий не объединяются: каждое восстановление возвращает выбранное сохранённое состояние.
Хранение файлов операции
Сохраните вне обновляемого сервера оригинальные ZIP установленного релиза, применяемые лицензионные файлы, опубликованные контрольные суммы, отчёт и идентификатор операции.
На период проверки новой версии сохраняйте прежний релиз и точки возврата. Если требуется продолжение или восстановление, оставьте также входные архивы и конфигурацию этой операции.
Копии входных ZIP можно удалить после успешной проверки продукта и завершения всех операций, которым они нужны. Для комплектов, принятых агентом, используйте доступное штатное действие удаления.
Удаление сохранённых релизов и проверка точки отката выполняются через административную панель. Порядок описан в инструкция по обновлению с сервера.
Последнее обновление
Это было полезно?