Каталог srvinfo сервера 1С: что удалять, что оставить и как вернуть всё назад
Содержание
Чтобы почистить 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
- Откройте
services.msc. - Найдите службу «Агент сервера 1С:Предприятия 8.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 база не открывается
Чаще всего проблема не в чистке, а в том, как прошли остановка, удаление и запуск. Пройдите по симптомам.
journalctl -u <имя_службы> на Linux. Частая причина — у пользователя службы USR1CV8 нет прав на каталог srvinfo после того, как его копировали или пересоздавали от имени администратора. Верните полный доступ этому пользователю.1CV8Clst.lst. Остановите службу, верните файл из резервной копии в reg_1541, запустите службу. Если копии нет, базы придётся зарегистрировать в кластере заново с теми же параметрами подключения к СУБД.Если ничего не помогло, верните 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 без остановки сервера?
Как часто нужно чистить srvinfo?
Пропадёт ли индекс полнотекстового поиска?
snccntx, индекс останется. Если удалить папку базы с GUID, индекс придётся перестроить через обработку управления полнотекстовым поиском в самой базе.