Как запустить сервер 1с предыдущей версии

Обновлено: 04.07.2024

В данной статье будет рассказано про агент сервера 1С:Предприятие 8.3 (справедливо и для версии 8.2) в случае использования агента в операционных системах семейства Windows. Будут приведены параметры запуска агента, а также описание выполняемых при его запуске действий.

0. Оглавление

1. Файл запуска агента сервера «1С:Предприятия»

Для того чтобы выполнить запуск кластера серверов «1С:Предприятия» необходимо запустить агент сервера, а точнее программу ragent.exe, которая располагается в каталоге bin каталога установки системы «1С:Предприятия». По умолчанию это:

2. Параметры запуска агента сервера «1С:Предприятия»

При запуске агента сервера ragent.exe возможно использовать следующие параметры:

  • 0 – соединения незащищенные;
  • 1 – защищенные соединения только на время выполнения аутентификации пользователей;
  • 2 – постоянно защищенные соединения.

Название и значение параметра должны разделяться символом «пробел».

3. Запуск агента сервера «1С:Предприятия»

Если список кластеров не обнаружен, агент создает кластер по умолчанию. Кластер по умолчанию имеет следующие характеристики:

Агент сервера может быть запущен и как служба и как приложение.

4. Запуск агента сервера «1С:Предприятия» как приложения

Для запуска агента сервера как приложения нужно выполнить команду ragent.exe со следующими возможными параметрами (если какой-либо параметр не указан, будет использовано значение по умолчанию):

Остановка агента сервера, запущенного как приложение, выполняется нажатием клавиш Ctrl + C.

5. Запуск агента сервера «1С:Предприятия» как службы

Если агент сервера был установлен как приложение (а также в случае удаления службы), существует возможность зарегистрировать службу вручную, а затем выполнить ее запуск. Для регистрации службы необходимо выполнить команду ragent.exe со следующими возможными параметрами (если какой-либо параметр не указан, будет использовано значение по умолчанию):

При регистрации агент сервера создает службу с именем:

Для отмены регистрации службы (удаления службы) необходимо выполнить команду:

Для запуска службы выполняется команда:

Для остановки службы, команда:

Смотрите также:

Для групповой разработки конфигурации в системе «1С:Предприятия» 8.3 используется хранилище конфигурации. Доступ разработчиков к хранилищу конфигурации может осуществляться по локальной сети (файлы базы данных располагаются на общем сетевом ресурсе), по протоколу…

В данной статье речь пойдет об окне запуска «1С:Предприятие» версии 8.3 (для версий 8.2 и 8.1 наборы действий аналогичны), а точнее об управлении списком информационных баз (ИБ): добавлении новой информационной базы…

В текущей статье рассмотрим процесс запуска и настройки параллельной работы нескольких серверов «1С:Предприятия» различных версий (актуально для версий 8.1, 8.2 и 8.3) на одном компьютере. В данном примере будет запущен сервер «1С:Предприятия» 8.3…

Запись опубликована в рубрике 1С 8 с метками 1Сv8. Добавьте в закладки постоянную ссылку.

43 Responses to Агент сервера «1С:Предприятия» 8.3 и его параметры запуска

Добрый день! Проблема заключается в следующем: есть необходимость перезагружать сервер раз в 5 дней. После перезагрузки сервера служба Агент сервера 1С не запускается, приходится запускать ее вручную, что очень не удобно. Что можно предпринять.

Кто-то устанавливал разные версии серверов 8.3 на один комп?
Стояли 8.2 и 8.3.4, все замечательно, консоль "Администрирование серверов" запускал двумя батниками:

все прекрасно запускалось, и 8.2, и 8.3.4 сервера администрировались.

поставил 8.3.6, теперь в консоли не могу подключится к 8.3.4 (8.2 все норм осталось)

У кого-то подобная связка работает?

(2) barat, естественно. Все три сервера запущены, на всех трех базы запускаются. Проблема только в консоли администрирования. Та вроде нельзя ставить на одно железо разные версии платформ. Только уникальные 8.2 и 8.3.
Так было когда тестировали переход с 8.3.5 на 8.3.6. Либо одна либо другая. (3) dj_serega, Может быть серверов, потому что платформы храняться и в параметрах запуска можно указать конкретную версию (4) barat, только консоль сервера, одна для всех, вот в этой папке common
и ставится с последней.
Можно конечно, попробовать, эту папку просто закопировать от другой версии, и потом запустить из нее.
Не знаю, прокатит или нет. (5) Boneman, там только haspds_windows.dll, hdinst_windows.dll, haspdinst.exe (драйвер ключа) и 1CV8 Servers (x86-64).msc - сам файл консоли. Его бекапил, пробовал переустанавливать сервера - без разницы какой запускать, все равно открывается консоль той версии, которая установилась последней. Сравнивал побайтно - они идентичны, который ставится с 8.3.4, и который ставится с 8.3.6. Я не поборол запуск консоли, когда установлена 8.3.6.2000, сервер был 8.3.6.1000. (1000 и 2000 это условно, не помню точно). Регистрации не помогают.
Пришлось обновлять сервер на 8.3.6.2000. а после открытия консоли в свойствах сервера пробовал порт указать Если кому интересно, то я заменил в папке 1c8\common файл 1ceunt.dll на версию запущенного сервера
после это зарегил снова утилиту администрирования нужной версии и вуаля все заработало )))

Мне на Server 2012 помогло только такое решение:
Создал два reg файла вида

а два cmd файла

соответственно 8.3.8.2197 номер релизов меняем на нужные вам
почему RegMSC не меняет эти ключи, так и не понял, но замена этих ключей дает запускать сразу две консоли

у меня на 8.3.12 и 8.3.13 значения те же.

Чтоб каждый раз не дергать реестр, достаточно разнести обращение на разные имена.
У себя сделал
для 8.2 запустили администрирование серверов (если добавляли службу вручную, через sc create) то в консоли будет пусто, ПКМ - создать - цетральный сервер
имя 127.0.0.1 порт 2541 (если службу добавляли через cmd - ragent -instsrvc ), то сначала удалить центр.сервер по доменному имени и также пересоздать.
для 8.3 там установка шла штатная, но для будущего, по днс имени удалил и добавил через ip
имя свой ip порт 1541


на выходе скриншот

Как быстро и без проблем установить новую версию платформы 1С и при этом минимизировать прерывание работы пользователей? Как запустить несколько экземпляров сервера 1С на одной машине? Данные вопросы являются распространенным предметом для обсуждения среди администраторов серверов 1С. В общем, ответы на них вы можете найти на сайте ИТС по этой ссылке, а также по этой.

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

Обновление платформы

Так как установка службы 1С на сервер, где ее еще не было, не представляет никаких сложностей и не отличается какими-то особенностями, рассмотрим другую задачу, когда у нас уже есть продуктивный сервер с запущенным сервером приложений, в котором работают пользователи, и нам необходимо обновить на нем версию платформы 1С. Эту задачу можно разбить на два условных этапа: подготовительный этап и этап обновления.

Подготовительный этап

Когда мы убедились, что все в порядке, можем запускать установку платформы 1С на сервере приложений. Если при его установке снять галочку «установить как сервис», можно не останавливать службу 1С, обслуживающую текущую версию платформы 1С и, что очень важно, можно не прерывать работу пользователей.


После этого все компоненты сервера будут установлены, но не будут использоваться.

Этап обновления

После того, как подготовительный этап закончен, необходимо согласовать с пользователями время, когда можно будет прервать их работу на несколько минут. Когда это время настанет, нужно остановить службу 1С и изменить строку запуска службы 1С, а именно путь к исполняемому файлу ragent.exe. Это можно сделать несколькими способами:

  • при помощи заранее подготовленного файла реестра:

В нужный момент кликаем правой кнопкой мыши на экспортированный файл реестра с измененной строкой запуска службы 1С и нажимаем «Слияние». Преимущество данного метода в том, что данный файл мы можем подготовить заранее и выполнить изменение параметров службы 1С в два клика без необходимости «копаться» в реестре.

  • или с помощью скрипта, с применением утилиты sc (выполняется из командной строки с правами администратора):

sc config [имя службы 1С в которой меняем версию платформы 1С] binPath= [строка запуска службы 1С новой версии платформы]

Строку запуска службы 1С новой версии платформы можно получить из строки запуска службы 1С текущей версии платформы, заменив в ней путь до исполняемого файла ragent.exe:


Например, если мы хотим обновить версию платформы с текущей (например, 8.3.7.1873) до 8.3.7.1917, тогда строка запуска текущей версии может выглядеть так:

"C:\Program Files\1cv8\8.3.7.1873\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d "C:\Program Files\1cv8\srvinfo"
из неё получим строку запуска службы 1С новой версии платформы:
"C:\Program Files\1cv8\8.3.7.1917\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d "C:\Program Files\1cv8\srvinfo"

имя службы 1С, например, следующее:
1C:Enterprise 8.3 Server Agent (x86-64)

тогда скрипт будет выглядеть так:

sc config "1C:Enterprise 8.3 Server Agent (x86-64)" binPath= "/"C:\Program Files\1cv8\8.3.7.1917\bin\ragent.exe/" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d /"C:\Program Files\1cv8\srvinfo/""

Установка дополнительной службы 1С

Итак, для того, чтобы использовать несколько экземпляров сервера 1С на одной машине, для обеих версий серверов 1С(если они отличаются) сначала выполняем «Подготовительный этап» из предыдущего пункта.

Далее нам понадобится следующий скрипт:

@echo off
rem %1 — полный номер версии 1С:Предприятия
rem %2 — первые цифры номеров портов
rem %3 — цифра сотого разряда номеров портов
rem %4 — каталог с данными службы 1С
set SrvUserName=<имя пользователя>
set SrvUserPwd=<пароль пользователя>
set RangePort=%2%301:%2%399
set BasePort=%2%300
set CtrlPort=%2000
set SrvcName="1C:Enterprise 8.3 Server Agent %CtrlPort%"
set BinPath="\"C:\Program Files\1cv8\%1\bin\ragent.exe\" /srvc /agent /regport %BasePort% /port %CtrlPort% /range %RangePort% /d \"%

4\" /debug"
set Desctiption="Агент сервера 1С:Предприятия 8.3. Параметры: %1, %CtrlPort%"
if not exist "%

4"
sc stop %SrvcName%
sc delete %SrvcName%
sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption% depend= Dnscache/Tcpip/Tcpip6/lanmanworkstation/lanmanserver

Процесс Порты
ragent 1540
rmngr 1541
rphost 1560:1591

К сожалению, такая структура портов не всегда является удобной. Например, если мы захотим использовать несколько кластеров в рамках одной службы 1С, а служб мы при этом используем несколько на одной машине. В этом случае может возникнуть путаница с диапазоном используемых процессами rphost портов. Если, например, процесс ragent одной службы 1С занимает порт 1540, а другой — 1640, для первой создан кластер 1С диапазон портов которого 1560:1591 и мы хотим создать еще один кластер, то диапазон портов для него, по логике, должен быть 1660:1691, но этот диапазон может быть занят (и, скорее всего так и будет) рабочими процессами кластера ragent’а занимающего порт 1640.

Итак, приведенный выше скрипт следует сохранить в командный файл, который назовем register-service.bat. Перед его применением необходимо указать в нем данные реального пользователя (имя и пароль) от имени которого будет работать служба кластера серверов (строки set SrvUserName= и set SrvUserPwd=). Примечание: если в скрипте используются символы кириллицы, командный файл следует сохранять в кодировке OEM 866.

Для регистрации службы выполните из командной строки следующую команду:

register-service [номер версии платформы] [первые цифры номеров портов] [цифра сотого разряда номеров портов] [каталог службы 1С]

Например, если нам необходимо зарегистрировать две службы для двух серверов 1С одинаковой версии 8.3.6.2332, то в командной строке напишем следующее:

register-service 8.3.6.2332 2 1 "C:\Program Files\1cv8\srvinfo_2000
register-service 8.3.6.2332 3 1 "C:\Program Files\1cv8\srvinfo_3000

Типичные ошибки и возможные проблемы

Помимо этого, необходимо помнить, что по умолчанию 1С регистрирует порт 1541 для менеджера кластера, то есть в параметрах запуска службы 1С можно увидеть:

Это значит, что после установки новой версии платформы при запуске службы по умолчанию всегда будет создан новый кластер и запущен процесс rmngr.exe, даже если он в принципе на сервере нам не нужен, и мы не хотим использовать этот рабочий сервер, как центральный. Также в строке запуска указан диапазон портов rphost для нового кластера:

К сожалению, на данный момент нет возможности управлять созданием локального кластера при первоначальном запуске службы 1С с помощью параметров командной строки службы. Но эту задачу можно решить следующими двумя способами.

Первый и, пожалуй, самый простой — это удалить созданный локальный кластер из консоли кластера 1С:

Удалить созданный локальный кластер из консоли кластера 1С

Второй вариант: для того, чтобы при первоначальном запуске службы 1С новый кластер не создавался, перед её запуском в каталоге служебных файлов данной службы, который указан в строке её запуска после ключа –d, необходимо создать файл с именем 1cv8wsrv.lst следующего содержания:

Мы получим такой же файл при удалении локального кластера, как это описано в первом варианте.

Еще один параметр строки запуска службы 1С, который стоит рассмотреть, это:

Он отвечает за каталог, в котором будут расположены (или располагаются) служебные файлы службы сервера 1С (в том числе список кластеров). По умолчанию каталог устанавливается следующий:

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

Помимо этого, одной из частых ошибок является то, что администратор 1С забывает удалить служебные файлы информационных баз (а именно: индексы полнотекстового поиска и журналы регистрации) из каталога реестра кластера 1С после того, как базы удалены из списка информационных баз кластера 1С. Данная ошибка приводит к тому, что дисковое пространство сервера приложений используется неэффективно.

Каталог реестра кластера выглядит следующим образом:

«C:\Program Files\1cv8\srvinfo\reg_[номер порта менеджера кластера]»

Каталог служебных файлов информационной базы:

Например, если номер порта менеджера кластера 1541, то каталог служебных файлов некоторой информационной базы с уникальным идентификатором «0c1bd57c-4a1b-47df-a229-ade9833de359» будет:

Список неиспользуемых баз можно получить, сравнив по уникальному идентификатору список баз в файле «1CV8Clst.lst» (располагается в каталоге реестра кластера) и список баз, для которых существуют каталоги со служебными файлами. Для быстрого получения идентификаторов баз и их имен из файла реестра кластера можно воспользоваться следующим регулярным выражением: «\<(\w<8>\-.*\w)\,\"(.*?)\"\,.*[\\r]*\n+.*\"\,\d+\>».

Заключение

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

Также достаточно важным было для нас описать, как настроить одновременную работу нескольких служб кластера 1С на одной машине. Эта информация может быть полезна тем, кто хочет изолировать несколько кластеров 1С, например, для целей разработки или тестирования или вы используете в работе информационные базы, управляемые разными версиями 1С:Предприятия.

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

В продолжение ранее опубликованной статьи, описывающей возможность запуска нескольких служб 1С на одном сервере, хотели бы рассказать об особенностях использования консоли администрирования северов 1С:Предприятия разных версий. Дело в том, что при штатной установке данной консоли администрировать получится только сервер 1С одной версии. Если установлено несколько версий платформы на одном сервере и работает несколько служб 1С, встает вопрос о том, как же администрировать сервера 1С разных версий в рамках одного сервера?

Файл RegMSC . cmd содержит следующий скрипт:

regsvr32 /n /i:user radmin.dll

Итак, мы хотим получить работоспособный скрипт, который нам позволит автоматизировать и выполнять в один клик следующие действия:

Предлагаем изменить вышеуказанный скрипт и создать основной универсальный скрипт регистрации компоненты и запуска оснастки (консоли), а также создать «скрипты-стартеры» консолей нужных версий. Вот, что у нас получилось:

rem %1 – полный номер версии 1С:Предприятия

start /wait regsvr32 /s "C:\Program Files (x86)\1cv8\%1\bin\radmin.dll"

start "C:\Windows\System32\mmc.exe" "C:\Program Files (x86)\1cv8\common\1CV8 Servers.msc"

Данный скрипт следует сохранить в исполняемый файл формата . bat (например, « start _ console . bat »). Разберем данный скрипт поподробнее. За корректную регистрацию компоненты radmin . dll отвечает строка:

start /wait regsvr32 /s "C:\Program Files (x86)\1cv8\%1\bin\radmin.dll"

В качестве параметра (%1) в неё передается номер версии платформы 1С. Следующая строка отвечает за запуск консоли MMC с оснасткой для администрирования серверов 1С:Предприятие:

start "C:\Windows\System32\mmc.exe" "C:\Program Files (x86)\1cv8\common\1CV8 Servers.msc"

Далее создадим «скрипт-стартер», который позволит запустить консоль для администрирования сервера 1С:Предприятие, например, версии 8.3.7.1873. Выглядеть он будет следующим образом:

start _ console 8.3.7.1873

Этот скрипт также нужно сохранить в исполняемый файл с расширением . bat и назвать соответствующим образом с указанием версии платформы 1С.

Так как регистрация компоненты radmin . dll не оказывает влияния на работу уже запущенных консолей администрирования серверов 1С:Предприятие, то с помощью данного подхода и предложенных скриптов мы можем запускать одновременно консоли администрирования серверов 1С:Предприятие разных версий и успешно в них работать, с кластером своей версии в каждой. Готово, теперь вы можете администрировать несколько версий сервера 1С на одном сервере.

MMC could not create the snap in, Name: 1C:Enterprise (x86-64) Servers, CLSID:…

Пока данная проблема не решена, использование нескольких 64-разрядных консолей администрирования серверов 1С:Предприятие в рамках одного сервера не представляется возможным. Если у вас есть другая информация и вы знаете, как можно решить эту проблему – пишите нам, с радостью обновим статью.

Заключение

В статье мы описали метод, позволяющий использовать несколько консолей администрирования серверов 1С:Предприятие разных версий. Это необходимо, если вы работаете на сервере с несколькими рабочими или тестовыми базами, для которых используемые версии сервера 1С различаются.

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

Читайте также: