> For the complete documentation index, see [llms.txt](https://docs.iexexchanger.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iexexchanger.com/learn/9.-sistema-i-rasshireniya/07-server-services.md).

# Управление службами

Проверьте состояние служб, выполните разрешённое действие и разберите журнал без доступа к shell

## Что вы получите

Администратор видит состояние разрешённых служб обменника, отличает безопасное чтение от управляющего действия и умеет подтвердить запуск, остановку или перезапуск через системный агент. Все действия остаются в журнале.

Откройте **«Утилиты» — «Службы»**.

## Разделите права

| Право роли          | Возможность                                                  |
| ------------------- | ------------------------------------------------------------ |
| Просмотр служб      | Видеть состояние и журнал без кнопок управления              |
| Управление службами | Выполнять только действия, разрешённые для конкретной службы |

Глобальный режим чтения и учётная запись администратора **«Только чтение»** также скрывают управляющие действия. Оператору заявок обычно достаточно просмотра.

{% hint style="danger" %}
Остановка Horizon, Frontend, Reverb, Redis или Cron влияет на заявки, уведомления, клиентский сайт или фоновые задачи. Не нажимайте действие только ради проверки кнопки. Для контрольной проверки используйте согласованное окно и службу, воздействие которой заранее понятно.
{% endhint %}

## Прочитайте вкладку «Состояние служб»

Таблица показывает:

* название и текущее состояние;
* время работы или результат последнего одноразового запуска;
* использование памяти и число перезапусков, когда они применимы;
* последний и следующий запуск для расписания;
* только разрешённые действия;
* время наблюдения агентом.

| Состояние                   | Что делать                                            |
| --------------------------- | ----------------------------------------------------- |
| Работает                    | Сверить стабильность, время работы и перезапуски      |
| Запускается                 | Подождать подтверждённого конечного состояния         |
| Нестабильно / Есть проблемы | Прочитать подробность и журнал до действия            |
| Остановлена / Отключена     | Уточнить, запланировано ли это состояние              |
| Ошибка                      | Не скрывать перезапуском без поиска причины           |
| Обслуживание                | Проверить активное обновление или регламентную работу |
| Неизвестно                  | Проверить связь с системным агентом                   |

## Знайте границы управления

| Служба                            | Доступные действия                   |
| --------------------------------- | ------------------------------------ |
| Frontend, Horizon, Reverb         | Запустить, остановить, перезапустить |
| Сбор данных Pulse, Проверка Pulse | Запустить, остановить, перезапустить |
| Планировщик Laravel               | Запустить сейчас                     |
| PHP-FPM, Redis                    | Перезапустить                        |
| Cron                              | Запустить, остановить, перезапустить |
| Агент обновлений                  | Только просмотр                      |
| Резервное копирование             | Только просмотр последнего запуска   |
| Расписание резервных копий        | Включить или отключить расписание    |

Nginx, PostgreSQL, Certbot и произвольные systemd-службы намеренно не управляются из панели. Laravel не получает `sudo`, shell-команду или возможность ввести имя службы.

## Выполните разрешённое действие

{% stepper %}
{% step %}

### Зафиксируйте исходное состояние

Запишите службу, состояние, время наблюдения, память, перезапуски и затронутые функции. Проверьте отсутствие активного обновления.
{% endstep %}

{% step %}

### Нажмите только нужное действие

Панель показывает кнопки согласно доверенному каталогу агента. Остановка и отключение расписания дополнительно предупреждают о временной недоступности функций.
{% endstep %}

{% step %}

### Подтвердите диалог

Сверьте точную службу и действие. После подтверждения не закрывайте прогресс и не нажимайте кнопку повторно.
{% endstep %}

{% step %}

### Дождитесь итогового состояния

Панель выполняет действие и повторно проверяет службу. Успешное сообщение без ожидаемого нового состояния требует дополнительной диагностики.
{% endstep %}

{% step %}

### Проверьте зависимый контур

После Horizon проверьте очередь, после Frontend — клиентский сайт, после Reverb — живые обновления и чат, после Cron или планировщика — ближайшую плановую задачу.
{% endstep %}
{% endstepper %}

Если связь оборвалась после отправки, окно сначала восстанавливает сохранённый результат по тому же ключу и не повторяет системное действие. Не открывайте вторую вкладку для ещё одного перезапуска.

## Работайте с резервными копиями правильно

Строка **«Резервное копирование»** показывает результат одноразовой systemd-задачи, но не запускает её из этого экрана. **«Расписание резервных копий»** позволяет включить или отключить будущие автоматические запуски.

Отключение расписания:

* не удаляет уже созданные копии;
* не доказывает возможность восстановления;
* не останавливает уже начатую задачу;
* требует причины, срока и ответственного за обратное включение.

Создание, проверка и `restore-test` выполняются специалистом штатным `iexctl` либо утверждённым регламентом. До обновления или рискованного изменения нужна свежая проверенная копия, а не только включённый таймер.

## Проверьте журнал действий

Откройте вкладку **«Журнал действий»** и сверьте:

* службу и действие;
* администратора или системного исполнителя;
* дату и время;
* результат **«Выполнено»** или **«Ошибка»**;
* последующее состояние службы.

Журнал доказывает отправку и результат действия агента, но конечную работу бизнес-функции нужно проверить отдельно.

## Если агент недоступен

1. Не повторяйте управляющее действие.
2. Обновите страницу один раз и проверьте **«Агент обновлений»**.
3. Откройте [раздел «Обновления»](/learn/9.-sistema-i-rasshireniya/06-system-updates.md) только для чтения состояния.
4. Передайте специалисту точное время, службу, действие и сообщение без секретов.
5. Специалист проверяет `iexctl doctor` и read-only состояние служб на сервере.
6. После восстановления перечитайте журнал и только затем принимайте решение о новом действии.

## Этап завершён, если

* [ ] права просмотра и управления разделены;
* [ ] роль только для чтения не видит действий;
* [ ] состояние каждой основной службы понятно;
* [ ] команда знает точный разрешённый набор действий;
* [ ] остановка или перезапуск выполняются только в согласованном окне;
* [ ] потеря ответа не приводит к повторному слепому действию;
* [ ] зависимый клиентский или фоновый контур проверен;
* [ ] расписание копий не перепутано с созданием и восстановлением копии;
* [ ] журнал содержит сотрудника, время, действие и результат;
* [ ] Nginx, PostgreSQL и произвольные команды не ищутся на этом экране.

После проверки служб запустите [полную диагностику системы](/learn/10.-zapusk/14-system-diagnostics.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.iexexchanger.com/learn/9.-sistema-i-rasshireniya/07-server-services.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
