Чистое удаление сервера 1С:Предприятия 8.3 в Windows и Linux

· 9 мин

Содержание

Чтобы удалить агента сервера 1С, остановите службу «Агент сервера 1С:Предприятия 8.3», снимите её с регистрации командой ragent.exe -rmsrvc (или sc delete), удалите компонент «Сервер 1С:Предприятия» через Параметры → Приложения и вручную очистите каталог данных кластера srvinfo. Информационные базы в SQL при этом не пострадают: агент хранит только реестр кластера, а не данные.

Чаще всего агента сносят не ради удаления как такового, а под переустановку: после обновления платформы висят две службы, новая не стартует из-за занятого порта 1540, или кластер «забыл» базы. Ниже порядок, при котором на сервере не остаётся хвостов, мешающих поставить сервер заново.

Подготовка: что сохранить и как остановить службу агента

Агент сервера (ragent.exe) — это служба Windows, которая слушает порт 1540, запускает менеджер кластера (rmngr.exe, порт 1541) и рабочие процессы (rphost.exe, обычно диапазон 1560–1591). Остановили агента — остановился весь кластер.

Остановка агента обрывает все сеансы пользователей во всех базах кластера. Делайте это в нерабочее время, предупредив людей заранее, и после того, как отработали ночные регламентные задания.

Что сохранить до удаления

  • 📁 Каталог srvinfo целиком. В нём лежит файл 1CV8Clst.lst — реестр кластера со списком баз, их параметрами подключения к СУБД, администраторами кластера и настройками рабочих серверов. Если планируете переустановку, этот файл позволит вернуть кластер со всеми базами за пару минут.
  • 🔑 Программные лицензии — каталог C:\ProgramData\1C\licenses. К агенту он не относится, но его часто сносят «заодно». Не удаляйте его: повторная активация расходует пин-код.
  • 📝 Параметры запуска службы: учётная запись, порты, путь к srvinfo. Их видно в свойствах службы (поле «Исполняемый файл») или командой ниже.
  • 💾 Резервные копии баз средствами СУБД. Удаление агента данные не трогает, но если сервер переустанавливается полностью, копия обязательна.

Посмотреть точное имя службы и строку запуска:

sc query state= all | findstr /i "1C"
sc qc "1C:Enterprise 8.3 Server Agent (x86-64)"

В выводе sc qc строка BINARY_PATH_NAME содержит полный путь к ragent.exe, номер версии платформы, порты (-port 1540 -regport 1541 -range 1560:1591) и каталог данных (-d "..."). Сохраните её в текстовый файл.

💡 Имя службы зависит от разрядности и способа установки. У 64-битной платформы обычно 1C:Enterprise 8.3 Server Agent (x86-64), у 32-битной — без суффикса. Если администратор ставил службу вручную, имя может быть любым, поэтому сначала смотрите sc query.

Остановка службы

  1. Откройте services.msc, найдите «Агент сервера 1С:Предприятия 8.3».
  2. Нажмите «Остановить» и дождитесь статуса «Остановлена».
  3. В диспетчере задач проверьте, что исчезли процессы ragent.exe, rmngr.exe, rphost.exe.

Из командной строки (от имени администратора):

net stop "1C:Enterprise 8.3 Server Agent (x86-64)"

Если процессы rphost.exe не завершились за минуту-две, их можно снять командой taskkill /f /im rphost.exe. Это крайняя мера: незавершённые транзакции откатятся.

Если на сервере работает сервер администрирования (ras.exe, служба вида «1C:Enterprise 8.3 Remote Server»), остановите и его — он подключается к агенту и после удаления будет только писать ошибки.

Штатное удаление агента сервера 1С через «Приложения»

Платформа 1С ставится одним пакетом, а сервер — его компонентом. Отсюда главный приём: если на этой же машине нужен клиент 1С, не удаляйте платформу целиком, а измените состав установки.

  1. Откройте Параметры → Приложения → Установленные приложения (или Панель управления → Программы и компоненты).
  2. Найдите строку вида «1С:Предприятие 8 (x86-64) (8.3.xx.xxxx)». Если версий несколько, выберите ту, чей номер совпадает с путём к ragent.exe из sc qc.
  3. Нажмите «Изменить». В мастере выберите вариант изменения состава компонентов.
  4. Для компонентов «Сервер 1С:Предприятия 8» и «Модули расширения веб-сервера» (если не нужны) выберите «Данный компонент будет недоступен».
  5. Завершите мастер.

Если сервер стоит на выделенной машине и клиент там не нужен, просто удалите строку платформы целиком.

Что делает установщик, а что нет

ОбъектУдаляет установщикЧто делать
Файлы bin нужной версииДа—
Служба агентаОбычно даПроверить sc query
Каталог srvinfoНетУдалить или сохранить вручную
Пользователь USR1CV8НетУдалить, если больше не нужен
Служба ras.exeНет (её ставят вручную)sc delete
Правила брандмауэраНетУдалить вручную

Служба зарегистрирована на конкретную версию платформы. Если вы удалили «не ту» версию, служба останется, но будет ссылаться на несуществующий ragent.exe и при старте выдаст ошибку 2 «Не удаётся найти указанный файл». Такую службу снимают вручную, как в следующем разделе.

Удаление службы агента вручную: ragent, sc и реестр Windows

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

Способ 1. Командой самого агента

У ragent.exe есть ключи для работы со службой: -instsrvc (зарегистрировать), -rmsrvc (снять с регистрации), -start и -stop. Запуск из каталога bin той версии, к которой привязана служба:

cd /d "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
ragent.exe -rmsrvc

Подставьте свою версию вместо 8.3.xx.xxxx. Способ работает, только если файлы этой версии ещё на диске.

Способ 2. Через sc

Подходит всегда, даже когда каталог платформы уже удалён:

sc stop "1C:Enterprise 8.3 Server Agent (x86-64)"
sc delete "1C:Enterprise 8.3 Server Agent (x86-64)"

Ответ [SC] DeleteService: успех означает, что служба помечена к удалению. Если в этот момент открыта оснастка services.msc, служба исчезнет только после её закрытия.

Сервер администрирования удаляется так же:

sc delete "1C:Enterprise 8.3 Remote Server"

Способ 3. Реестр — только если sc не помог

Регистрация служб хранится в ветке:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\

Раздел с именем службы агента (то же, что показал sc query) содержит параметр ImagePath со строкой запуска. Удалять раздел вручную стоит, только когда sc delete возвращает ошибку, а служба после перезагрузки снова в списке.

Перед правкой реестра экспортируйте раздел: правой кнопкой → «Экспортировать». Удалённый не тот раздел может положить другую службу.

После удаления раздела перезагрузите сервер.

Сравнение способов

СпособКогда применятьРиск
Изменение состава установкиПлановое удаление, клиент нуженМинимальный
ragent.exe -rmsrvcФайлы версии на местеМинимальный
sc deleteКаталога версии уже нетОшибиться именем службы
Правка реестраsc не справилсяЗадеть чужую службу

Очистка каталога srvinfo и данных кластера

Установщик не трогает данные кластера. Если их оставить, новый агент при запуске с тем же каталогом подхватит старый реестр — со старыми базами, администраторами и рабочими серверами. Иногда это и нужно, но при «чистой» переустановке старые данные мешают.

Где искать каталог:

  • 📂 по умолчанию для службы — C:\Program Files\1cv8\srvinfo;
  • 📂 если путь менялся — смотрите ключ -d в строке запуска службы.

Что внутри:

ОбъектНазначение
reg_1541Каталог кластера (число — порт менеджера кластера)
reg_1541\1CV8Clst.lstРеестр кластера: базы, параметры, администраторы
Подкаталоги с GUID в reg_1541Сеансовые данные и кеши конкретных баз
*.pfl, логи техжурналаСлужебные файлы, если журнал настраивался

Порядок:

  1. Убедитесь, что rmngr.exe и rphost.exe не запущены: иначе часть файлов будет заблокирована.
  2. Скопируйте srvinfo в архив (хотя бы 1CV8Clst.lst).
  3. Удалите каталог целиком.

💡 Если цель — переустановка без потери списка баз, удалять ничего не нужно. Поставьте сервер той же версии или новее, остановите новую службу, положите сохранённый 1CV8Clst.lst в reg_1541 и запустите службу. Базы появятся в консоли кластера. Пароли администраторов кластера при этом тоже вернутся старые.

Удаление srvinfo не удаляет ни одной информационной базы: таблицы остаются в MS SQL или PostgreSQL. Их можно заново зарегистрировать в новом кластере, указав существующую базу на сервере СУБД.

Остальные хвосты

  • 👤 Пользователь USR1CV8 в Управление компьютером → Локальные пользователи и группы. Если сервер больше не ставится — удалите; если переустанавливаете — оставьте, установщик использует его повторно.
  • 🧱 Правила брандмауэра для портов 1540, 1541 и диапазона рабочих процессов. Найдите их в wf.msc по номерам портов или по имени ragent.
  • 🗂 Каталог C:\Program Files\1cv8\8.3.xx.xxxx, если после деинсталляции в нём остались файлы.

Удаление сервера 1С в Linux

В Linux агент — это демон ragent, работающий от пользователя usr1cv8. Способ удаления зависит от того, как ставилась платформа.

Остановка

Для новых версий платформы (8.3.21 и выше) служба оформлена как юнит systemd с версией в имени. Найдите его:

systemctl list-units --all | grep -i 1c
sudo systemctl stop <имя_юнита>
sudo systemctl disable <имя_юнита>

На старых установках используется скрипт /etc/init.d/srv1cv83:

sudo /etc/init.d/srv1cv83 stop
sudo update-rc.d -f srv1cv83 remove     # Debian/Ubuntu

Проверьте, что процессов не осталось:

ps aux | grep -E 'ragent|rmngr|rphost' | grep -v grep

Удаление пакетов

Если платформа ставилась из deb- или rpm-пакетов, посмотрите их список и удалите пакеты сервера:

dpkg -l | grep -i 1c-enterprise        # Debian/Ubuntu
rpm -qa | grep -i 1c-enterprise        # RHEL, РЕД ОС, ALT

Удалять через sudo apt remove <пакет> или sudo dnf remove <пакет>, подставив имена из вывода. Пакет common нужен клиенту: не трогайте его, если клиент на машине остаётся.

Если ставили единым установщиком setup-full-...run, удаление выполняется деинсталлятором из каталога версии в /opt/1cv8/x86_64/. Посмотрите содержимое каталога версии: файл деинсталлятора там единственный, его легко узнать по имени.

Данные кластера в Linux

Каталог данных по умолчанию — /home/usr1cv8/.1cv8/1C/1cv8, внутри тот же reg_1541 с 1CV8Clst.lst. Сохраните его, затем удалите:

sudo tar czf ~/srvinfo-backup.tgz /home/usr1cv8/.1cv8/1C/1cv8
sudo rm -rf /home/usr1cv8/.1cv8/1C/1cv8

Если сервер больше не нужен, удалите и пользователя: sudo userdel -r usr1cv8. Ключ -r сносит домашний каталог вместе с данными кластера, поэтому архив делайте до этой команды.

Хвосты после удаления агента
Выполнено: 0 / 7

Проверка и диагностика после удаления

Последний шаг — убедиться, что ничего не держит порты и не мешает новой установке.

Порты

Windows:

netstat -ano | findstr ":1540 :1541"

Linux:

sudo ss -tlnp | grep -E ':1540|:1541'

Пустой вывод — порты свободны. Если в выводе есть строка LISTENING, последнее число (Windows) — PID процесса. Найдите его: tasklist /fi "PID eq 1234". Это может быть второй агент другой версии, о котором забыли.

Типовые ситуации

Диагностика: выберите симптом

Журнал событий

Ошибки старта службы агента пишутся в Просмотр событий → Журналы Windows → Система с источником Service Control Manager. Если служба удалена корректно, новых записей о ней после перезагрузки быть не должно.

Частые вопросы

Удалятся ли базы, если удалить агента сервера 1С?
Нет. Агент хранит только реестр кластера. Таблицы баз остаются в СУБД, их можно зарегистрировать в другом кластере.
Можно ли удалить один сервер, оставив клиент 1С на этой машине?
Да. В «Приложениях» выберите «Изменить» для строки платформы и отключите компонент «Сервер 1С:Предприятия 8», клиент останется.
На сервере две службы агента разных версий. Какую удалять?
Ту, чей ragent.exe (виден в sc qc) относится к версии, которую больше не используете. Работать обе одновременно на одних портах не могут.
Нужно ли освобождать лицензии перед удалением сервера?
Программные лицензии лежат в C:\ProgramData\1C\licenses и не удаляются вместе с агентом. Если переносите сервер на другую машину, лицензию придётся активировать там заново, при изменении оборудования — резервным пин-кодом.
Что будет с паролем администратора кластера?
Он хранится в 1CV8Clst.lst. Удалили файл — кластер новый, без администраторов. Вернули файл из копии — вернулся и старый пароль.