Каталог srvinfo сервера 1С: что удалять, что оставить и как вернуть всё назад

· 9 мин

Содержание

Чтобы почистить SRVINFO в 1С, остановите службу «Агент сервера 1С:Предприятия 8.3», скопируйте каталог srvinfo в резерв и удалите внутри reg_1541 только папки, имя которых начинается с snccntx. Затем запустите службу. Файл 1CV8Clst.lst и папки с GUID баз не трогайте: в них список баз кластера, журналы регистрации и индексы поиска.

Сразу уточним термин. SRVINFO — не файл и не библиотека SRVINFO.DLL, как иногда пишут, а рабочий каталог сервера 1С:Предприятия 8.3. Он есть только у клиент-серверного варианта. В файловой базе и на компьютере пользователя такого каталога нет — там чистят обычный кэш клиента.

Когда чистка srvinfo действительно помогает

Очистка сбрасывает сеансовые данные сервера: временный контекст сеансов, который рабочие процессы rphost держат на диске. Если эти данные повредились, ошибки воспроизводятся у всех пользователей, а перезапуск клиента не помогает.

Признаки, при которых чистка имеет смысл:

  • 🔴 после аварийного отключения питания или «падения» сервера база перестала открываться у всех пользователей, а файловая копия той же базы работает;
  • 🔴 при входе или при открытии формы выходит Ошибка формата потока, и очистка кэша клиента её не убрала;
  • 🔴 в консоли кластера висят сеансы, которые не завершаются, а после их удаления появляются снова;
  • 🔴 каталог srvinfo вырос до десятков гигабайт, и на системном диске кончается место;
  • 🔴 после обновления платформы сервер стартует, но клиенты получают невнятные ошибки соединения с сеансом.

Когда чистить НЕ нужно:

  • ⚪ ошибка у одного пользователя — сначала очистите его клиентский кэш (запуск с параметром /ClearCache);
  • ⚪ база файловая — srvinfo к ней отношения не имеет;
  • ⚪ ошибка в конкретном документе или отчёте — это данные базы или код конфигурации, сервер тут ни при чём;
  • ⚪ мало места из-за журнала регистрации — его надо сокращать штатно, а не удалять папку руками.

Если сомневаетесь, сначала просто перезапустите службу агента сервера. Часть «зависших» состояний уходит уже на этом шаге, без удаления файлов.

Где лежит каталог srvinfo на Windows и Linux

Путь к srvinfo задаётся при установке сервера и передаётся агенту параметром -d. Поэтому надёжнее всего смотреть не в «типовое место», а в параметры запуска службы.

Windows

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

Строка выглядит примерно так:

"C:\Program Files\1cv8\8.3.24.1548\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug

Всё, что после -d, — и есть каталог srvinfo. При установке по умолчанию это C:\Program Files\1cv8\srvinfo. На старых установках встречается путь внутри профиля пользователя службы USR1CV8.

Из PowerShell имя службы и путь можно получить одной командой:

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

Linux

По умолчанию сервер работает от пользователя usr1cv8, и каталог находится здесь:

/home/usr1cv8/.1cv8/1C/1cv8

Если путь меняли, ищите параметр -d в unit-файле systemd или переменную SRV1CV8_DATA в старом скрипте запуска. Найти имя службы помогает команда:

systemctl list-units --all | grep -i 1cv8

Что внутри srvinfo и что из этого можно удалять

Внутри лежит папка вида reg_<порт>, где порт — порт менеджера кластера. В типовой установке это reg_1541. Если кластер настроен на другой порт, будет, например, reg_2541. Чистка всегда идёт внутри этой папки.

Что лежитДля чегоУдалять?
1CV8Clst.lstреестр кластера: список баз, рабочих серверов, администраторовНет. Без него кластер «забудет» все базы
папки с именем-GUIDданные конкретной базы: журнал регистрации 1Cv8Log, индекс полнотекстового поискаНет, если не готовы потерять журнал
папки snccntx<GUID>сеансовые данные и временный контекст рабочих процессовДа, при остановленной службе
файлы *.lst в корне srvinfoслужебные реестры агентаНет

Каждая база кластера имеет свой GUID. Его видно в консоли кластера в свойствах информационной базы — так проще понять, какая папка к какой базе относится, если нужно проверить размер журнала.

Встречается совет «удалите всё содержимое srvinfo». После этого сервер стартует пустым: в консоли не будет ни одной базы, пропадут администраторы кластера и журналы регистрации. Сами данные в СУБД останутся, но базы придётся регистрировать в кластере заново, а историю журнала уже не вернуть.

Как почистить srvinfo: порядок действий

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

Шаг 1. Завершите работу пользователей

Попросите пользователей выйти. Проверьте в консоли кластера (Администрирование серверов 1С Предприятия), что в списке сеансов не осталось рабочих сеансов. Если идёт обмен или закрытие месяца — дождитесь окончания.

Шаг 2. Остановите службу агента сервера

На Windows — через services.msc или командой с точным именем службы:

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

Имя службы бери из свойств, оно может отличаться при нескольких установленных версиях. После остановки откройте диспетчер задач и убедитесь, что не осталось процессов ragent.exe, rmngr.exe и rphost.exe. Если процесс завис, дождитесь минуту и только потом завершайте его вручную.

На Linux:

sudo systemctl stop <имя_службы>
ps aux | grep -E "ragent|rmngr|rphost" | grep -v grep

Вторая команда не должна ничего выводить.

Шаг 3. Сделайте резервную копию

Скопируйте весь каталог srvinfo в другое место, хотя бы на тот же диск в соседнюю папку. Минимум — файл 1CV8Clst.lst. Если каталог огромный из-за журналов, копируйте только .lst-файлы и папки snccntx*, но тогда журнал в случае ошибки уже не восстановить.

robocopy "C:\Program Files\1cv8\srvinfo" "D:\backup\srvinfo_20261007" /E /COPY:DAT

Шаг 4. Удалите сеансовые данные

Зайдите в srvinfo\reg_1541 и удалите все папки, имя которых начинается с snccntx. На Windows это удобно сделать в PowerShell:

Get-ChildItem "C:\Program Files\1cv8\srvinfo\reg_1541" -Directory -Filter "snccntx*" | Remove-Item -Recurse -Force

На Linux:

sudo rm -rf /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/snccntx*

Проверьте путь дважды перед нажатием Enter: команда rm -rf не спрашивает подтверждения.

Шаг 5. Запустите службу и проверьте

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

Откройте консоль кластера: все базы должны быть на месте. Зайдите в одну из баз под своей учёткой, затем пустите пользователей. Папки snccntx создадутся заново при первых подключениях — это нормально.

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

Если после чистки srvinfo база не открывается

Чаще всего проблема не в чистке, а в том, как прошли остановка, удаление и запуск. Пройдите по симптомам.

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

Если ничего не помогло, верните srvinfo из копии целиком: остановите службу, переименуйте текущий каталог в srvinfo_bad, скопируйте на его место резервный и запустите службу. Состояние вернётся к моменту до чистки, и можно спокойно искать причину дальше.

Не пересоздавайте кластер и не удаляйте базы из консоли ради «чистого старта». Регистрация базы в кластере хранит настройки блокировки регламентных заданий, параметры подключения к СУБД и права — восстанавливать их дольше, чем разобраться с исходной ошибкой.

Как не допустить разрастания и сбоев srvinfo

Сеансовые данные копятся и портятся в основном при аварийных остановках. Объём каталога растёт почти всегда из-за журнала регистрации. Поэтому профилактика складывается из нескольких простых мер.

  • 🛡 Бесперебойник и корректное выключение. Сервер 1С, выключенный кнопкой, — главный поставщик битых сеансовых данных.
  • 📏 Настройка журнала регистрации. В конфигураторе откройте Администрирование → Настройка журнала регистрации: уменьшите уровень событий для служебных баз, включите разделение журнала по периодам и сокращайте старые периоды штатной командой, а не удалением файлов.
  • 💽 Отдельный диск. Перенесите srvinfo с системного диска на диск с запасом места. Для переноса меняют параметр -d службы и копируют каталог целиком при остановленном сервере.
  • 🦠 Исключение в антивирусе. Проверка «на лету» каталога srvinfo тормозит рабочие процессы и может блокировать файлы сеансов. Добавьте каталог в исключения.
  • 🔄 Плановый перезапуск. Перезапуск службы раз в неделю или после обновления платформы в нерабочее время сбрасывает накопившиеся состояния без ручного удаления.
  • 📊 Контроль размера. Простая задача в планировщике, которая раз в сутки пишет размер srvinfo в лог, покажет рост раньше, чем закончится диск.

Технологический журнал к srvinfo напрямую не относится: его каталог задаётся в файле logcfg.xml. Но если в logcfg.xml прописали путь внутрь srvinfo и забыли выключить сбор событий, каталог тоже начнёт расти. Проверьте этот файл, если рост не объясняется журналом регистрации.

Ошибки, из-за которых чистка оборачивается простоем

ОшибкаЧем кончаетсяКак правильно
Удалили файлы при работающей службечасть файлов занята, часть удалилась — сеансовые данные в смешанном состояниитолько при остановленном агенте и без процессов rphost
Удалили весь reg_1541пустой кластер, нет баз, нет журналовудалять только snccntx*
Почистили не тот каталогна сервере две версии платформы, остановили одну службу, а чистили каталог другойбрать путь из параметра -d конкретной службы
Чистили только один сервер кластерана втором рабочем сервере остались старые сеансовые данныепри нескольких рабочих серверах останавливать и чистить каждый
Скопировали srvinfo из-под администратораслужба не стартует из-за правпосле копирования проверить права пользователя службы
Чистили днём «на минутку»пользователи потеряли незаписанные документы, прервался обменсогласованное окно и предупреждение заранее

Отдельный случай — использование srvinfo с другого сервера. Перенести каталог на новую машину можно, но только целиком, при той же версии платформы и с теми же параметрами подключения к СУБД. Подкладывать на работающий сервер 1CV8Clst.lst от другого кластера не стоит: туда попадут чужие рабочие серверы и администраторы.

Чем очистка srvinfo отличается от очистки кэша 1С у пользователя?
Кэш клиента лежит в профиле пользователя на его компьютере и влияет только на него. Srvinfo — каталог сервера: его очистка затрагивает всех, кто работает с базами этого сервера, и требует остановки службы.
Удалятся ли документы и проводки при очистке srvinfo?
Нет. Данные клиент-серверной базы хранятся в СУБД — MS SQL, PostgreSQL или другой. В srvinfo только служебная информация сервера, журналы регистрации и индексы поиска.
Можно ли почистить srvinfo без остановки сервера?
Нет. Файлы сеансов заняты рабочими процессами, а частичное удаление при работающем сервере даёт ещё более запутанные ошибки. Минимум — остановить службу агента на время удаления.
Как часто нужно чистить srvinfo?
Регулярно — не нужно. Это разовое действие при конкретных симптомах. Для профилактики достаточно планового перезапуска службы и контроля размера журнала регистрации.
Пропадёт ли индекс полнотекстового поиска?
Если удалять только папки snccntx, индекс останется. Если удалить папку базы с GUID, индекс придётся перестроить через обработку управления полнотекстовым поиском в самой базе.