Каталоги 1С на сервере Windows и Linux: платформа, кластер, базы и права доступа

· 10 мин

Содержание

На Windows-сервере платформа 1С 8.3 лежит в C:\Program Files\1cv8\<номер версии>\bin, данные кластера — в C:\Program Files\1cv8\srvinfo, а файловые базы — там, куда их положил администратор (путь виден в окне запуска 1С). На Linux платформа стоит в /opt/1cv8/x86_64/<версия>/ (старые пакеты — в /opt/1C/v8.3/x86_64/), а каталог кластера — в /home/usr1cv8/.1cv8/1C/1cv8/.

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

Стандартные пути 1С на Windows-сервере

На сервере обычно лежит не одна «папка 1С», а несколько разных каталогов. У каждого своя роль, и бэкапить или чистить их нужно по-разному.

Что ищемПуть по умолчанию (64-разрядная платформа)
📦 Исполняемые файлы платформыC:\Program Files\1cv8\8.3.xx.xxxx\bin\
🚀 Общий лаунчер 1cestart.exeC:\Program Files\1cv8\common\
⚙️ Общие настройки (conf.cfg, logcfg.xml)C:\Program Files\1cv8\conf\
🗄 Данные кластера серверовC:\Program Files\1cv8\srvinfo\
🔑 Программные лицензииC:\ProgramData\1C\licenses\
📋 Список баз пользователя%APPDATA%\1C\1CEStart\ibases.v8i
🧹 Кэш клиента пользователя%LOCALAPPDATA%\1C\1cv8\

32-разрядная платформа ставится в C:\Program Files (x86)\1cv8\ с той же внутренней структурой. На одном сервере часто стоят обе: 64-битная для службы сервера, 32-битная — для старых внешних компонент.

Каждый релиз платформы получает свою папку с номером версии. После нескольких обновлений в C:\Program Files\1cv8\ скапливается 5–10 каталогов вида 8.3.23.xxxx, 8.3.24.xxxx. Рабочая служба при этом использует только один из них.

Чтобы понять, какой релиз реально обслуживает базы, смотрите путь к ragent.exe в свойствах службы, а не самую свежую папку. Как это сделать — в разделе про нестандартные пути.

Что лежит в папке bin

  • 1cv8.exe — толстый клиент и Конфигуратор;
  • 1cv8c.exe — тонкий клиент;
  • ragent.exe, rmngr.exe, rphost.exe — агент, менеджер кластера и рабочие процессы сервера;
  • ras.exe и rac.exe — сервер и утилита администрирования из командной строки;
  • radmin.dll — библиотека консоли администрирования кластера.

Если консоль кластера после обновления перестала открываться, radmin.dll нужно перерегистрировать из папки той версии, что совпадает с версией сервера: regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll".

Где хранятся базы 1С на сервере

Здесь важно, какая у вас база: файловая или клиент-серверная. От этого зависит, есть ли у неё вообще «папка».

Файловая база

Файловая база — это каталог с файлом 1Cv8.1CD и папкой журнала регистрации 1Cv8Log. Установщик по умолчанию предлагает для новой базы C:\Users\<пользователь>\Documents\InfoBase. На сервере так обычно не делают: базы кладут в отдельный каталог на диске данных, например D:\1C_Bases\Buh\, и открывают общий доступ по сети.

Клиент-серверная база

У клиент-серверной базы своей папки с данными нет. Таблицы хранит СУБД — MS SQL Server или PostgreSQL. На сервере 1С от неё остаются только служебные данные в каталоге кластера.

СУБДГде физически лежат данныеКак узнать точно
MS SQL Server...\Microsoft SQL Server\MSSQLxx.MSSQLSERVER\MSSQL\DATA\ (файлы .mdf и .ldf)запрос SELECT name, physical_name FROM sys.master_files;
PostgreSQL (Linux)/var/lib/postgresql/<версия>/main/ или каталог сборки Postgres Proзапрос SHOW data_directory; в psql

Файлы .mdf и каталог данных PostgreSQL нельзя копировать на работающей СУБД как способ резервирования. Такая копия почти наверняка не поднимется. Для этого есть штатный бэкап СУБД.

Каталог кластера srvinfo

В srvinfo хранится всё, что сервер 1С знает о своих базах:

  • reg_1541\1CV8Clst.lst — реестр кластера: список баз, рабочих серверов, администраторов, параметры;
  • reg_1541\<GUID базы>\ — служебные папки баз, внутри журнал регистрации 1Cv8Log;
  • reg_1541\snccntx<...> — сеансовые данные, их удаляют при очистке серверного кэша.

Число 1541 в имени — порт менеджера кластера. Если кластер поднят на другом порту, папка будет называться иначе, например reg_2541.

Чтобы сопоставить GUID-папку с конкретной базой, откройте консоль кластера: в свойствах базы указан её идентификатор. Либо найдите имя базы в 1CV8Clst.lst любым текстовым редактором — файл читается, но править его вручную не нужно.

Папки 1С на Linux-сервере

На Linux расположение зависит от того, как ставили платформу.

Способ установкиГде платформа
Единый установщик (8.3.20 и новее)/opt/1cv8/x86_64/8.3.xx.xxxx/
Пакеты deb/rpm старых релизов/opt/1C/v8.3/x86_64/

Посмотреть, какие версии стоят, проще всего так:

ls -l /opt/1cv8/x86_64/
ls -l /opt/1C/v8.3/x86_64/

Одна из команд вернёт «нет такого файла или каталога» — значит, этого варианта установки на сервере нет.

Что внутри каталога платформы

В /opt/1C/v8.3/x86_64/ (или в папке версии под /opt/1cv8/x86_64/) лежат те же компоненты, что в Windows-папке bin, только без расширения .exe:

  • ragent, rmngr, rphost — процессы сервера;
  • ras, rac — администрирование из консоли;
  • 1cv8, 1cv8c — клиенты, если ставили клиентскую часть;
  • conf/ — настройки, в том числе logcfg.xml для технологического журнала и nethasp.ini для аппаратных ключей.

Каталог кластера и лицензии на Linux

Служба сервера работает от пользователя usr1cv8. Данные кластера по умолчанию лежат в его домашнем каталоге: /home/usr1cv8/.1cv8/1C/1cv8/. Внутри та же структура, что в srvinfo на Windows: reg_1541, 1CV8Clst.lst, папки баз.

Программные лицензии на Linux хранятся в /var/1C/licenses/.

Как найти файл базы 1Cv8.1CD

Начинать лучше не с поиска по диску, а с того, что уже знает сама 1С.

Способ 1. Окно запуска

Откройте 1С на любом компьютере, где база подключена, и выделите её в списке. Внизу окна будет строка вида File="D:\1C_Bases\Buh". Это и есть каталог базы. Для серверной базы там будет Srvr="srv1c";Ref="buh" — имя сервера и имя базы в кластере.

Способ 2. Файл ibases.v8i

Список баз пользователя хранится в текстовом файле %APPDATA%\1C\1CEStart\ibases.v8i. Откройте его Блокнотом и найдите строки Connect=File=....

[Бухгалтерия предприятия]
Connect=File="\\SRV1C\Bases\Buh";
ID=3f2c...

Если путь сетевой (\\SRV1C\Bases\Buh), на самом сервере ищите общую папку Bases: в «Управлении компьютером» в разделе общих ресурсов видно, на какой локальный каталог она смотрит.

Способ 3. Изнутри программы

В запущенной базе откройте Справка → О программе. В окне указана строка соединения с информационной базой — тот же путь File=....

Способ 4. Поиск по диску

Если клиентов под рукой нет, ищите сам файл. В PowerShell:

Get-ChildItem -Path D:\ -Filter 1Cv8.1CD -Recurse -ErrorAction SilentlyContinue |
  Select-Object FullName, Length, LastWriteTime

В командной строке Windows: dir D:\1Cv8.1CD /s /b. На Linux:

sudo find / -name "*.1CD" -type f 2>/dev/null

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

Найдётся несколько файлов 1Cv8.1CD — сверяйте с тем, что в ibases.v8i у бухгалтеров. Тестовые копии и старые выгрузки часто называются похоже.

Если стандартные пути не подходят

Администратор мог поставить платформу на диск D:, перенести srvinfo или запустить второй кластер. Тогда точный путь подскажет сама служба.

Windows: смотрим параметры службы

  1. Откройте services.msc.
  2. Найдите службу «Агент сервера 1С:Предприятия 8.3».
  3. В свойствах посмотрите поле «Исполняемый файл».

Там будет строка такого вида:

"D:\1cv8\8.3.24.1548\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "E:\1C_srvinfo"

Путь до ragent.exe — это папка платформы. Параметр -d — каталог кластера. Параметр -regport подсказывает имя папки внутри: здесь reg_1541.

Если служб несколько, удобнее вывести все сразу:

Get-CimInstance Win32_Service |
  Where-Object { $_.PathName -like '*ragent*' } |
  Select-Object Name, StartName, PathName

Колонка StartName покажет учётную запись службы. Она понадобится для настройки прав.

Linux: смотрим запущенный процесс

ps aux | grep [r]agent
systemctl list-units --all | grep -i 1c

В выводе ps у процесса ragent тоже есть параметр -d с каталогом кластера. Вторая команда покажет имя юнита службы: у новых версий оно содержит номер релиза, у старых — srv1cv83. В старой схеме каталог данных задаётся в файле настроек службы в /etc/sysconfig/ или /etc/default/ (переменная SRV1CV8_DATA).

Какую папку 1С вы ищете?

Права доступа к папкам 1С

Папку нашли, но открыть её нельзя или 1С ругается на доступ. Почти всегда дело в том, что у учётной записи нет прав именно на этот каталог.

Кому какие права нужны

КаталогЧья учётная записьКакие права
srvinfo / /home/usr1cv8/.1cv8учётная запись службы сервера (USR1CV8 или usr1cv8)полный доступ
Каталог платформыучётная запись службычтение и выполнение
Папка файловой базы в сетикаждый пользователь 1Сизменение: NTFS-права и права общего ресурса
Папка файловой базы для веб-публикацииучётная запись IIS или Apacheизменение

Пользователю файловой базы недостаточно «только чтения». При входе 1С создаёт рядом с 1Cv8.1CD файл блокировки и пишет журнал регистрации. Без права на изменение база не откроется даже для просмотра отчётов.

Как выдать права

На Windows это «Свойства → Безопасность» у папки. Для сетевой базы проверьте ещё вкладку «Доступ»: действуют более строгие из двух наборов прав.

На Linux каталог кластера должен принадлежать пользователю службы:

sudo chown -R usr1cv8:grp1cv8 /home/usr1cv8/.1cv8

Менять владельца или права на srvinfo на работающем сервере не нужно, если служба работает нормально. Если правите — делайте это в нерабочее время: при перезапуске службы оборвутся все сеансы пользователей.

Частые проблемы и что с ними делать

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

Какие папки 1С сохранять в резервную копию

Сохранять всю C:\Program Files\1cv8 смысла нет: дистрибутив платформы можно поставить заново за 10 минут. Ценность представляют данные и настройки.

Что сохранятьЗачемКак
Файловые базы (1Cv8.1CD + 1Cv8Log)это сами учётные данныекопия каталога при закрытой базе или выгрузка .dt
Базы на MS SQL / PostgreSQLучётные данныештатный бэкап СУБД по расписанию
srvinfo\reg_1541\1CV8Clst.lstсписок баз и настройки кластеракопия файла, редко — после изменений кластера
conf.cfg, logcfg.xml, nethasp.iniваши настройки платформыобычная копия файлов
Каталог лицензийпрограммные лицензиикопия, чтобы не активировать заново при сбое

Копировать 1Cv8.1CD, пока в базе работают люди, нельзя: получится несогласованная копия. Для ночного копирования рабочей базы надёжнее выгрузка через Конфигуратор: Администрирование → Выгрузить информационную базу. Она требует, чтобы в базе не было других пользователей, поэтому её запускают по расписанию в нерабочее время.

Файл программной лицензии привязан к оборудованию. Копия спасёт при восстановлении системы на том же сервере, но не перенесёт лицензию на другую машину.

Папки snccntx и кэш клиентов в %LOCALAPPDATA%\1C\1cv8 в бэкап не включайте. Это временные данные, 1С пересоздаст их сама.

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

Можно ли перенести srvinfo на другой диск?
Да. Остановите службу в нерабочее время, скопируйте каталог, выдайте учётной записи службы полный доступ и поменяйте параметр -d в строке запуска службы. При остановке оборвутся все сеансы.
Почему в Program Files нет папки 1cv8?
Платформу поставили в другой каталог или это 32-разрядная версия в Program Files (x86). Точный путь покажет свойство службы агента сервера.
Где на сервере журнал регистрации серверной базы?
В каталоге кластера: reg_1541, папка с GUID базы, внутри 1Cv8Log. GUID видно в свойствах базы в консоли кластера.
Сколько места занимает папка 1cv8?
Одна версия платформы — около 1 ГБ. Старые версии, которые не использует ни служба, ни клиенты, можно удалить через «Программы и компоненты».
Можно ли держать файловую базу на сервере 1С и открывать её по сети?
Можно, но это всё равно файловый режим: сервер 1С в работе такой базы не участвует. Для 10 и более одновременных пользователей обычно переходят на клиент-серверный вариант.