К статье
Практический материал

Администрирование · 14 мин

Как почистить логи сервера 1С 8.3

Как почистить логи сервера 1С 8.3: сокращение журнала регистрации, настройка технологического журнала, удаление старых дампов и логов СУБД без потери данных.

Логи сервера 1С 8.3 имеют свойство незаметно разрастаться: журнал регистрации копит события, технологический журнал пишет детальные трассировки, а дампы аварийных завершений могут занимать гигабайты каждый. Когда диск сервера заполняется, начинаются типичные симптомы — ошибки записи в базу, остановка службы агента сервера, невозможность создать резервную копию. Регулярная чистка логов — это не косметическая процедура, а часть обслуживания, без которой сервер рано или поздно встаёт.

Проблема в том, что «логи 1С» — это не один файл, а несколько разных хранилищ с разной логикой очистки. Журнал регистрации сокращается штатными средствами конфигуратора, технологический журнал управляется файлом настроек logcfg.xml, логи СУБД (MS SQL или PostgreSQL) чистятся вообще другими инструментами. Удалять всё подряд через проводник — плохая идея: часть файлов открыта работающими службами, а часть нужна для расследования инцидентов.

Ниже разобраны все основные типы логов, безопасные способы их очистки, настройка ротации, чтобы проблема не возвращалась, и типичные ошибки администраторов. Материал ориентирован на клиент-серверный вариант работы, но часть приёмов применима и к файловым базам.

Какие логи есть у сервера 1С и где они лежат

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

  • Журнал регистрации — файл 1Cv8.lgd в каталоге информационной базы (в клиент-серверном варианте — в каталоге базы внутри srvinfo, обычно C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы> или аналогичный путь на Linux в /home/usr1cv8/.1cv8).
  • Технологический журнал — каталог, заданный в logcfg.xml (по умолчанию часто C:\Program Files\1cv8\srvinfo\logs или conf\logs), с подкаталогами по процессам rphost, rmngr, ragent.
  • Дампы аварийных завершений — каталог dumps, путь задаётся там же в logcfg.xml; файлы .mdmp могут весить сотни мегабайтов каждый.
  • Логи кластера и агента — служебные файлы в srvinfo, включая журналы регистрации самого кластера.
  • Логи СУБД — журнал транзакций MS SQL (.ldf), логи ошибок SQL Server, pg_log у PostgreSQL. Это отдельная тема, но именно они чаще всего «съедают» диск.

Быстро оценить, что занимает место, помогает простой просмотр размеров каталогов srvinfo и каталогов СУБД. Если основной объём — подкаталоги с именами процессов и файлами .log, это техножурнал. Если один большой файл 1Cv8.lgd — журнал регистрации. Если .ldf — журнал транзакций MS SQL.

Большой 1Cv8.lgdРазросся журнал регистрации

Сокращение через конфигуратор с выгрузкой старых событий

Каталоги rphost_* с множеством .logАктивен техножурнал без ротации

Проверить logcfg.xml, ограничить историю и удалить старые каталоги

Крупные .mdmp в dumpsБыли аварийные завершения процессов

Сохранить свежие дампы для анализа, старые удалить

Огромный .ldf у базы MS SQLЖурнал транзакций не усекается

Проверить модель восстановления и расписание бэкапов журнала

Сокращение журнала регистрации через конфигуратор

Журнал регистрации — единственный лог, для которого есть штатный инструмент сокращения. Удалять файл 1Cv8.lgd вручную нельзя: это приведёт к потере всей истории событий и, при некорректных действиях, к ошибкам открытия журнала.

Порядок действий: откройте конфигуратор под пользователем с правами администратора, перейдите в Администрирование → Обслуживание → Журнал регистрации, затем нажмите Сократить. В диалоге выберите дату, до которой удалять события, и обязательно укажите файл для сохранения удаляемых событий — так старая история останется доступной для расследований, но не будет занимать место в рабочем журнале.

Порядок сокращения журнала регистрации
  1. 1
    Сделайте резервную копию базы или хотя бы скопируйте файл 1Cv8.lgd
  2. 2
    Откройте конфигуратор → Администрирование → Обслуживание → Журнал регистрации
  3. 3
    Нажмите «Сократить», укажите дату отсечения и файл для сохранения старых событий
  4. 4
    Дождитесь завершения — на больших журналах операция может занять десятки минут
  5. 5
    Проверьте, что журнал открывается и новые события записываются

Важный нюанс: на больших журналах (несколько гигабайт) сокращение идёт долго и требует монопольного доступа к файлу журнала. В клиент-серверном варианте это обычно не блокирует работу пользователей полностью, но лучше выполнять операцию в нерабочее время. Если журнал достиг критического размера и конфигуратор не справляется, альтернатива — перевести базу на новый формат журнала (SQLite-файл 1Cv8.lgd нового формата создаётся при смене режима в свойствах базы через консоль кластера или при выгрузке/загрузке), но это уже операция уровня опытного администратора.

Очистка технологического журнала и настройка logcfg.xml

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

Структура каталога техжурнала: внутри заданного пути создаются подкаталоги по именам процессов (rphost_*, rmngr_*, ragent_*), а в них — файлы вида yyMMddHH.log (по часам). Удаляйте каталоги и файлы старше нужной даты обычными средствами ОС. Текущий часовой файл лучше не трогать.

Чтобы журнал не разрастался снова, настройте ротацию в logcfg.xml. Ключевые параметры: history — глубина хранения в часах, и ограничение событий, чтобы не писать всё подряд. Пример минимальной конфигурации для сбора только ошибок:

xml
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="C:\1clogs" history="72">
    <event><eq property="name" value="EXCP"/></event>
    <property name="all"/>
  </log>
  <dump create="false"/>
</config>

Здесь history="72" означает хранение логов за 72 часа — всё старше сервер удалит сам. Секция <dump create="false"/> отключает создание дампов, если они не нужны. После изменения logcfg.xml перезапуск службы агента сервера не обязателен — конфигурация подхватывается автоматически в течение примерно минуты.

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

Удаление дампов и служебных файлов кластера

Дампы аварийных завершений (.mdmp) создаются, когда процесс rphost падает. Каждый дамп может занимать от сотен мегабайт до нескольких гигабайт. Если падения разовые и причина уже найдена, старые дампы можно удалять без сомнений. Если падения регулярные — сохраните пару свежих дампов для анализа (их может запросить техническая поддержка или они понадобятся для анализа через отладчик), остальное удалите.

Путь к дампам указывается в logcfg.xml; если он не задан, дампы могут складываться в каталог srvinfo или системный каталог аварийных дампов Windows. Проверьте оба места.

Отдельно стоит упомянуть каталоги сеансовых данных и временные файлы в srvinfo. Каталоги вида snccntx и временные файлы сеансов при штатной работе очищаются самим сервером, но после аварийных остановок там могут оставаться остатки. Удалять их следует только при остановленной службе агента сервера — иначе можно нарушить работу активных сеансов.

Логи СУБД: MS SQL и PostgreSQL

Часто «логи сервера 1С» на самом деле означают разросшийся журнал транзакций MS SQL. Если база работает в полной модели восстановления (Full), а резервные копии журнала транзакций не делаются, файл .ldf растёт бесконечно и может превысить размер самой базы.

Для баз 1С, где не требуется восстановление на произвольный момент времени, стандартная практика — перевести базу в простую модель восстановления (Simple): в SQL Server Management Studio — свойства базы → Параметры → Модель восстановления. После переключения журнал можно сжать: правой кнопкой по базе → Задачи → Сжать → Файлы → выбрать файл журнала. В простой модели журнал усекается автоматически и больше не будет расти без контроля.

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

У PostgreSQL проверьте каталог pg_log (или log, в зависимости от версии и настроек) — текстовые логи сервера. Настройте ротацию параметрами log_rotation_age и log_rotation_size в postgresql.conf, старые файлы удаляйте вручную. Журналы WAL (pg_wal) трогать вручную категорически нельзя — их удаление разрушит базу.

Сравнение вариантов

MS SQL, модель Simple

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

MS SQL, модель Full + бэкапы журнала

Нужна при требовании восстановления на любой момент. Требует настроенных регулярных бэкапов журнала, иначе .ldf растёт

PostgreSQL с ротацией логов

Настройка log_rotation_age/log_rotation_size, старые текстовые логи удаляются вручную или скриптом

Автоматизация очистки и профилактика

Разовая чистка решает проблему на неделю. Чтобы не возвращаться к ней каждый месяц, настройте автоматику. Для техножурнала достаточно параметра history в logcfg.xml — сервер сам удаляет устаревшие файлы. Для дампов и прочих старых файлов удобно использовать планировщик Windows с простым скриптом.

powershell
# Удаление файлов техжурнала и дампов старше 7 дней
$paths = @('C:\1clogs', 'C:\Program Files\1cv8\srvinfo\dumps')
foreach ($p in $paths) {
  if (Test-Path $p) {
    Get-ChildItem $p -Recurse -File |
      Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-7) } |
      Remove-Item -Force -ErrorAction SilentlyContinue
  }
}

Для журнала регистрации автоматизации штатными средствами нет — сокращение выполняется вручную. Разумный компромисс: поставить напоминание раз в квартал или контролировать размер 1Cv8.lgd мониторингом. Также в свойствах базы в консоли кластера можно ограничить уровень записываемых событий, но делать это стоит осознанно: отключение регистрации событий изменения данных лишает вас аудита.

Типичные ошибки
01
Удаление 1Cv8.lgd вручную вместо сокращения — теряется вся история без архивной копии
02
Сокращение журнала без сохранения удаляемых событий — при разборе инцидента восстановить историю невозможно
03
Забытый включенный logcfg.xml после диагностики — через месяц диск снова переполнен
04
Сжатие .ldf без смены модели восстановления — журнал вырастает обратно за неделю
05
Удаление файлов из srvinfo при работающем сервере — риск потери списка баз и активных сеансов

Проверка результата и границы безопасной работы

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

Контрольные точки

Как проверить результат

Свободное место на диске
Норма

Освобождено ожидаемое количество, запас не менее 15–20% тома

Тревожный признак

Место не освободилось — значит, основной объём в другом месте (СУБД, теневые копии)

Журнал регистрации
Норма

Открывается быстро, новые события пишутся

Тревожный признак

Ошибка открытия журнала — возможно, файл повреждён, нужно восстановление

Служба агента сервера
Норма

Работает, сеансы пользователей активны

Тревожный признак

Служба остановлена или базы пропали из консоли — проверяйте целостность srvinfo

Техжурнал
Норма

Новые файлы пишутся только если logcfg.xml оставлен намеренно

Тревожный признак

Логи продолжают расти, хотя диагностика завершена — logcfg.xml не удалён

Безопасная граница самостоятельной работы: сокращение журнала регистрации, удаление старых файлов техжурнала и дампов, настройка logcfg.xml, смена модели восстановления и сжатие журнала MS SQL. Если же диск заполнен, а причина неясна, база не открывается после чистки или журнал регистрации повреждён — это повод остановиться, снять копию текущего состояния и привлечь специалиста по администрированию 1С или СУБД. Попытки «починить» srvinfo или файлы базы вручную без опыта чаще усугубляют ситуацию.

Итог

Что важно запомнить

Журнал регистрации сокращается только через конфигуратор с сохранением архива. Техножурнал ограничивается параметром history в logcfg.xml, старые файлы удаляются вручную. Дампы чистятся после анализа. Разросшийся .ldf в MS SQL лечится сменой модели восстановления или регулярными бэкапами журнала. Всё остальное в srvinfo не трогайте.

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

Можно ли удалить файл 1Cv8.lgd, если журнал регистрации не нужен?

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

Техножурнал пишется, хотя logcfg.xml я не создавал. Почему?

Файл мог быть создан ранее другим администратором или размещён в каталоге conf самой платформы (тогда он действует на все серверы с этой установкой). Проверьте каталог conf в папке установки 1С и каталог кластера. Также дампы могут создаваться настройками ОС независимо от logcfg.xml.

Как быстро найти, что именно заняло место на диске сервера?

Используйте любой анализатор занятого места (WinDirStat, TreeSize) или встроенный просмотр размеров папок. Чаще всего виноваты: каталог техжурнала, файлы .ldf баз MS SQL, дампы .mdmp и теневые копии Windows. Проверяйте в этом порядке.

Нужно ли останавливать сервер 1С для очистки логов?

Для удаления старых файлов техжурнала и дампов — нет, они не заблокированы. Для сокращения журнала регистрации остановка не требуется, но операцию лучше делать в нерабочее время. Остановка обязательна только при любых манипуляциях с файлами внутри srvinfo.

Журнал транзакций MS SQL снова вырос через неделю после сжатия. Что не так?

Сжатие не решает причину роста. Если база в полной модели восстановления и бэкапы журнала не делаются, .ldf будет расти снова. Либо переведите базу в простую модель восстановления, либо настройте регулярное резервное копирование журнала транзакций.

Можно ли полностью отключить журнал регистрации, чтобы он не занимал место?

Полностью отключить журнал регистрации нельзя — это штатный механизм платформы. Можно лишь сократить состав регистрируемых событий в настройках и регулярно сокращать журнал. Учитывайте, что без событий изменения данных вы лишаетесь аудита действий пользователей.