Чистим сервер 1С:Предприятие: что из логов можно удалять, а что нельзя

· 9 мин

Содержание

Чтобы очистить логи 1С на сервере, удалите старые файлы технологического журнала из каталога, указанного в logcfg.xml, и сократите журнал регистрации базы через конфигуратор: Администрирование → Настройка журнала регистрации → Сократить. Частая ошибка администратора — стереть целиком папку srvinfo или каталог базы внутри reg_1541. После этого кластер теряет список баз, и восстанавливать его придётся вручную.

Логи сервера 1С — это три разных хранилища с разными правилами. Технологический журнал можно чистить почти без оглядки. Журнал регистрации — только средствами платформы. Служебные файлы кластера трогать нельзя вовсе. Инструкция ниже написана для платформы 8.3 на Windows Server 2016 и новее; для Linux пути и команды даны отдельно.

Где сервер 1С хранит логи и что из них можно удалять

Прежде чем что-то удалять, разберитесь, откуда растёт объём. На типичном сервере место съедают четыре источника.

ЧтоГде лежитЧем управляетсяМожно удалять вручную
📄 Технологический журнал (ТЖ)каталог из атрибута location в logcfg.xmlфайл logcfg.xmlда, старые файлы
💥 Дампы процессовкаталог из элемента <dump> в logcfg.xml или профиль пользователя службыфайл logcfg.xmlда
📚 Журнал регистрации базыsrvinfo\reg_1541\<GUID базы>\1Cv8Log\конфигуратор, пакетный режимнет, только сокращать
🗂 Кэш сеансовых данныхsrvinfo\reg_1541\snccntx*сам кластертолько при остановленной службе

Каталог srvinfo задаётся при установке службы ключом -d. Проверить его просто: откройте services.msc, найдите службу «Агент сервера 1С:Предприятия 8.3» и посмотрите строку «Исполняемый файл». Путь после -d и есть корень. По умолчанию это C:\Program Files\1cv8\srvinfo.

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

В каталоге reg_1541 лежит файл 1CV8Clst.lst — реестр кластера со списком баз, рабочих серверов и администраторов. Его не удаляйте ни при какой уборке.

Быстро найти самые тяжёлые папки поможет PowerShell:

Get-ChildItem 'C:\Program Files\1cv8\srvinfo' -Directory -Recurse |
  ForEach-Object {
    [pscustomobject]@{
      Path = $_.FullName
      GB   = [math]::Round((Get-ChildItem $_.FullName -File -Recurse -ErrorAction SilentlyContinue |
              Measure-Object Length -Sum).Sum / 1GB, 2)
    }
  } | Sort-Object GB -Descending | Select-Object -First 15

Технологический журнал: как очистить и ограничить рост

Технологический журнал включается файлом logcfg.xml. Платформа ищет его в каталоге conf — общем (C:\Program Files\1cv8\conf\) или в каталоге конкретной версии (C:\Program Files\1cv8\8.3.xx.xxxx\bin\conf\). На Linux — /opt/1cv8/conf/ или каталог conf установленной версии.

Сервер перечитывает файл примерно раз в минуту. Перезапускать службу после правки не нужно.

Шаг 1. Найдите каталог журнала

Откройте logcfg.xml блокнотом. Каталог журнала указан в атрибуте location элемента <log>. Внутри него платформа создаёт папки по процессам: rphost_4120, rmngr_2236, ragent_1984. Число после подчёркивания — идентификатор процесса (PID). В каждой папке лежат файлы вида 26100714.log — один файл на час работы.

Шаг 2. Задайте срок хранения

Атрибут history — сколько часов хранить файлы. Старше этого срока платформа удаляет их сама. Если атрибут забыли или поставили большое число, журнал растёт до заполнения диска.

Пример настройки, которая пишет только исключения и хранит их сутки:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\1C_logs\tj" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <property name="all"/>
  </log>
</config>

💡 Пишите журнал на отдельный диск, не на системный. Если журнал всё-таки переполнит диск, база и ОС продолжат работать.

Шаг 3. Удалите накопившиеся файлы

  1. Если журнал больше не нужен, удалите logcfg.xml или переименуйте его в logcfg.xml.off.
  2. Подождите 1–2 минуты, пока процессы перестанут писать.
  3. Удалите содержимое каталога из location.

Если журнал должен работать дальше, удаляйте только файлы старше текущего часа. Файл, в который процесс пишет сейчас, заблокирован, и Проводник выдаст ошибку «Файл занят другим процессом». Это нормально: пропустите его.

Пустые папки rphost_* от завершённых процессов можно удалять смело. Процесс с этим PID уже не существует.

Дампы: отдельная статья расходов

Дамп — снимок памяти процесса при падении. Полный дамп rphost весит столько же, сколько процесс занимал в памяти, то есть легко от 2 до 10 ГБ. Десять падений за неделю — и пропали полсотни гигабайт.

Каталог дампов задаёт элемент <dump> в том же logcfg.xml. Если элемента нет, ищите папку dumps в профиле пользователя, от которого запущена служба: C:\Users\USR1CV8\AppData\Local\1C\1cv8\dumps.

  • 🗑 Старые дампы удаляйте, если уже передали их разработчику или разобрали.
  • 🔁 Регулярные свежие дампы — повод искать причину падений, а не только чистить диск.
  • 🧭 Для разбора нужен обычно последний дамп, а не весь архив.

Утилита rac: какая папка какой базе принадлежит

Утилита rac сама логи не удаляет. Зато без неё не понять, чей журнал раздулся: в reg_1541 папки названы по GUID базы, а в ТЖ — по PID процесса.

Для rac должен работать сервер администрирования ras. Обычно его ставят службой; по умолчанию он слушает порт 1545. Утилита лежит в каталоге bin нужной версии платформы.

  1. Узнайте идентификатор кластера:
cd "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
rac cluster list
  1. Получите список баз с их GUID:
rac infobase summary list --cluster=<UUID кластера>

Поле infobase в выводе совпадает с именем папки в reg_1541. Так видно, какая база держит журнал регистрации на 40 ГБ.

  1. Сопоставьте процессы с папками ТЖ:
rac process list --cluster=<UUID кластера>

В выводе есть поле pid. Папка rphost_<pid> с таким числом — журнал живого процесса. Папки с PID, которых в списке нет, остались от завершённых процессов.

Если на кластере задан администратор, добавьте --cluster-user и --cluster-pwd. Остальные параметры смотрите в справке: rac help infobase.

Журнал регистрации: сокращаем средствами платформы

Журнал регистрации пишет действия пользователей и ошибки конкретной базы. В клиент-серверном варианте он хранится на сервере 1С, а не в СУБД. Бэкап SQL его не содержит, и очистка таблиц в SQL здесь не поможет.

Форматы два:

  • 📄 старый — файлы 1Cv8.lgf и *.lgp, по одному на период;
  • 🗄 новый — файл 1Cv8.lgd (база SQLite), появился в 8.3.5.

Через конфигуратор

  1. Запустите конфигуратор нужной базы.
  2. Откройте Администрирование → Настройка журнала регистрации.
  3. Нажмите «Сократить».
  4. Укажите дату: события раньше неё будут удалены.
  5. Если старые события нужны для аудита, отметьте сохранение удаляемых записей в файл и укажите путь.
  6. Подтвердите. На журнале в десятки гигабайт операция идёт долго, не прерывайте её.

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

💡 Включите разделение журнала по периодам, например по месяцам. Тогда каждый период лежит в своём файле, и сокращение работает быстрее.

Через пакетный запуск конфигуратора

Для регулярной очистки удобнее параметр /ReduceEventLogSize. Он делает то же, что кнопка «Сократить», только без интерфейса:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /S "srv1c\buh" /N "Администратор" /P "пароль" /DisableStartupDialogs /ReduceEventLogSize 2026-07-01 -saveAs "E:\archive\buh_eventlog" /Out "E:\logs\reduce_buh.txt"
  • 2026-07-01 — дата в формате ГГГГ-ММ-ДД, события до неё удаляются;
  • -saveAs — необязательный ключ: куда выгрузить удаляемое;
  • /Out — файл с результатом. Проверяйте его после каждого запуска.

Не удаляйте файлы 1Cv8.lgd или 1Cv8.lgf вручную при работающей службе. Платформа держит их открытыми. В лучшем случае удаление не пройдёт, в худшем журнал повредится и база начнёт писать ошибки при каждой записи события.

Кэш сеансовых данных: если раздулся srvinfo

Иногда место занимает не журнал, а папки snccntx* внутри reg_1541. Это кэш сеансовых данных. Обычно он небольшой, но после аварийных остановок может вырасти до нескольких гигабайт. Ещё он бывает причиной странных зависаний при входе.

Порядок очистки:

  1. Предупредите пользователей и выберите окно обслуживания. После остановки службы все сеансы оборвутся, несохранённые данные пропадут.
  2. Остановите службу «Агент сервера 1С:Предприятия 8.3».
  3. Убедитесь в диспетчере задач, что процессов ragent, rmngr и rphost не осталось.
  4. Удалите папки snccntx* в reg_1541. Файл 1CV8Clst.lst и папки с GUID баз не трогайте.
  5. Запустите службу и проверьте вход в базу.

Сервер заново создаст кэш при первом подключении.

Автоматическая очистка логов по расписанию

Ручная уборка раз в квартал заканчивается переполненным диском в пятницу вечером. Лучше настроить задание один раз.

Windows: скрипт и планировщик заданий

Скрипт C:\scripts\clean1c.ps1 удаляет файлы ТЖ старше трёх суток, дампы старше 14 дней и пустые папки процессов:

$tj    = 'D:\1C_logs\tj'
$dumps = 'D:\1C_logs\dumps'

Get-ChildItem $tj -Recurse -File -Filter *.log -ErrorAction SilentlyContinue |
  Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-3) } |
  Remove-Item -Force -ErrorAction SilentlyContinue

Get-ChildItem $dumps -File -ErrorAction SilentlyContinue |
  Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-14) } |
  Remove-Item -Force -ErrorAction SilentlyContinue

Get-ChildItem $tj -Directory -ErrorAction SilentlyContinue |
  Where-Object { -not (Get-ChildItem $_.FullName -Force) } |
  Remove-Item -Force -ErrorAction SilentlyContinue

Регистрируем задание, которое запускается каждую ночь в 03:00 от имени SYSTEM:

schtasks /Create /SC DAILY /ST 03:00 /TN "1C clean logs" /RU SYSTEM /TR "powershell -NoProfile -ExecutionPolicy Bypass -File C:\scripts\clean1c.ps1"

Сокращение журнала регистрации добавьте отдельным заданием раз в месяц. В bat-файле дату удобно вычислить через PowerShell, например «сегодня минус 90 дней»:

for /f %%d in ('powershell -NoProfile -Command "(Get-Date).AddDays(-90).ToString('yyyy-MM-dd')"') do set CUT=%%d
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /S "srv1c\buh" /N "Администратор" /P "пароль" /DisableStartupDialogs /ReduceEventLogSize %CUT% /Out "E:\logs\reduce_buh.txt"

💡 Пароль в bat-файле читают все, у кого есть доступ к папке. Заведите для обслуживания отдельного пользователя базы с правом администрирования и закройте папку со скриптами правами NTFS.

Linux: cron

Те же правила для каталога /var/log/1c/tj одной строкой в crontab -e:

0 3 * * * find /var/log/1c/tj -type f -name '*.log' -mmin +4320 -delete && find /var/log/1c/tj -mindepth 1 -type d -empty -delete

-mmin +4320 — файлы старше трёх суток. Задание запускайте от root или от пользователя usr1cv8, которому принадлежит каталог.

Автоочистка настроена, если
Выполнено: 0 / 6

Что идёт не так при очистке логов 1С

Большинство проблем возникает не из-за самой очистки, а из-за удаления не того каталога.

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

Ещё одна ловушка — несколько logcfg.xml. Если файл лежит и в общем conf, и в каталоге версии, правка одного из них может ни на что не повлиять. Держите один файл и помните, где он.

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

Можно ли удалить весь каталог технологического журнала?
Да, если перед этим отключить ТЖ, убрав logcfg.xml. На работу баз это не влияет: ТЖ нужен только для диагностики.
Попадает ли журнал регистрации в бэкап SQL?
Нет. В клиент-серверном варианте он хранится в каталоге кластера на сервере 1С. Если журнал нужен для аудита, копируйте каталог 1Cv8Log отдельно.
Сколько хранить журнал регистрации?
Обычно хватает трёх–шести месяцев. Если журнал нужен для расследований, выгружайте старые события в архив ключом -saveAs, а не держите их в рабочем файле.
Нужно ли перезапускать службу после правки logcfg.xml?
Нет. Сервер перечитывает файл примерно раз в минуту и применяет новые настройки сам.
Влияет ли большой журнал регистрации на скорость работы?
Влияет на открытие и отбор в самом журнале. На проведение документов размер журнала заметно не влияет, а вот подробный уровень регистрации добавляет нагрузку на запись.