Очистка журнала регистрации, технологического журнала и dmp-файлов 1С

· 9 мин

Содержание

Логи 1С чистят в трёх разных местах, и инструменты у каждого свои. Журнал регистрации сокращают из Конфигуратора. Технологический журнал ограничивают настройкой history в logcfg.xml. Файлы дампов (.dmp) и мусор трассировки удаляют руками или скриптом. Если смешать эти вещи, диск не освободится, а «чистка» ничего не даст.

Начните с замера: узнайте, что именно занимает место. Дальше действуйте по нужному разделу. Все операции ниже обратимы только через резервную копию, поэтому перед удалением скопируйте каталог журнала.

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

Под словом «логи» администраторы обычно имеют в виду четыре разные сущности.

ЧтоДля чегоГде лежитЧем чистить
Журнал регистрацииДействия пользователей, ошибки, событияКаталог 1Cv8LogКонфигуратор, сокращение
Технологический журналДиагностика платформы, блокировки, вызовыКаталог из logcfg.xmlПараметр history, скрипт
Файлы дампов .dmpАварийные завершения процессовКаталог дампов, %TEMP%, каталог процессаУдаление вручную или скриптом
Служебные кеши и временные файлыУскорение запуска клиентаПрофиль пользователяОчистка кеша клиента

Положение журнала регистрации зависит от варианта базы:

  • 📁 Файловая база. Папка 1Cv8Log лежит внутри каталога базы, рядом с 1Cv8.1CD.
  • 🖥️ Клиент-серверная база . Журнал лежит на сервере 1С, в каталоге кластера, в подкаталоге с идентификатором базы. Обычно это reg_1541\<GUID базы>\1Cv8Log.
  • ⚙️ Технологический журнал. Каталог вы задаёте сами в logcfg.xml. Если файла нет, журнал не пишется вовсе.

Размер смотрите по каталогам, а не по ощущениям. На Windows хватит свойств папки, на Linux — du -sh * в каталоге кластера. Самый тяжёлый каталог и есть ваша цель.

В журнале регистрации сейчас встречаются два формата. Старый — набор файлов .lgp с индексом 1Cv8.lgf. Новый — один файл 1Cv8.lgd, это база SQLite. Что используется в вашей базе, видно по содержимому 1Cv8Log. Способ очистки при этом общий.

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

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

Разовое сокращение

  1. Закройте всех пользователей из базы или предупредите их. Сокращение требует монопольного доступа не всегда, но надёжнее сделать это в окне без нагрузки.
  2. Откройте базу в Конфигураторе под администратором.
  3. В меню «Администрирование» найдите пункт «Журнал регистрации».
  4. Выберите действие «Сокращение журнала регистрации».
  5. Укажите дату: всё, что старше, будет удалено. Для рабочей базы обычно хватает последних 3–6 месяцев.
  6. Если нужно сохранить удаляемое, включите сохранение в архив и укажите папку. Архив получится в виде отдельных файлов журнала.
  7. Подтвердите. Время операции зависит от объёма и скорости диска.

Перед сокращением скопируйте 1Cv8Log целиком. Удалённые записи вернуть нельзя, а журнал нужен для расследования, если что-то пошло не так.

Расписание сокращения

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

  • Настроить сокращение через регламентную задачу ОС, вызывая Конфигуратор в пакетном режиме.
  • Использовать скрипт, который удаляет файлы журнала старше N дней. Он грубее, но не требует Конфигуратора.

Удалять файлы .lgp вручную можно только при остановленном сеансе работы с базой и с резервной копией. Не трогайте при этом 1Cv8.lgf: без него журнал станет нечитаемым.

Ещё один способ уменьшить рост журнала — не писать лишнего. В настройках журнала регистрации можно отключить события, которые вам не нужны. Это делают в Конфигураторе, в разделе «Администрирование — Журнал регистрации — Настройка». Прежде чем что-то отключать, убедитесь, что события не требуются для аудита.

Технологический журнал: ротация через logcfg.xml

Здесь важна оговорка. Файл logcfg.xml управляет технологическим журналом, а не журналом регистрации. Для регистрации он не подходит. Часто в запросе пишут «настроить автоочистку журнала регистрации через logcfg», но так это не работает .

Файл кладут в каталог conf платформы. На Windows это обычно C:\Program Files\1cv8\conf\logcfg.xml, на Linux — /opt/1cv8/conf/. Рабочий пример:

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

Что здесь важно:

  • location — каталог, куда пишутся файлы журнала. Выберите отдельный диск или раздел, не системный.
  • history — срок хранения в часах. Значение 24 оставляет сутки, всё старше платформа удаляет сама. Это и есть встроенная ротация.
  • event с условием — фильтр. Без фильтра журнал пишет всё и разрастается за часы.

Три правила, которые экономят место:

  1. 🎯 Узкий фильтр. Включайте только нужные события: EXCP (исключения), TLOCK и TTIMEOUT (блокировки). Не включайте CALL, SDBL и DBMSSQL без причины: они дают огромные объёмы.
  2. ⏱️ Короткая история. Для постоянного сбора хватит 24–72 часов. Для разового расследования ставьте минимум и удаляйте конфиг после.
  3. 💾 Отдельный диск. Если журнал заполнит системный раздел, встанет всё, включая сервер 1С.

После правки logcfg.xml платформа подхватывает изменения сама, обычно в течение минуты. Перезапуск службы не нужен. Если журнал не появился, проверьте права на каталог: учётная запись службы сервера должна иметь право записи.

Закончили расследование — переименуйте logcfg.xml, например, в logcfg.xml.off. Журнал перестанет писаться, а конфиг останется под рукой.

Удаление дампов и мусора трассировки на сервере

Файлы .dmp появляются при аварийном завершении процесса: rphost, ragent, rmngr или клиента. Один дамп весит от десятков мегабайт до нескольких гигабайт, и за месяц нестабильной работы их набирается много.

Где их искать:

  • В каталоге, который указан в параметре dump файла logcfg.xml, если он настроен.
  • В каталоге данных процесса или временных файлов службы сервера.
  • В профиле пользователя и %TEMP% на клиентских машинах и терминальных серверах.

Быстрый поиск на Windows:

Get-ChildItem -Path D:\ -Recurse -Filter *.dmp -ErrorAction SilentlyContinue |
  Sort-Object Length -Descending |
  Select-Object FullName, @{n='МБ';e={[math]::Round($_.Length/1MB)}} -First 20

На Linux то же делает find:

find / -name "*.dmp" -size +50M 2>/dev/null

Перед удалением ответьте на один вопрос: нужен ли дамп для разбора причины? Если вы собираетесь отправлять обращение в поддержку, сохраните свежие дампы отдельно. Старые, по которым причина уже найдена, можно удалять.

Чтобы платформа не копила дампы бесконечно, управляйте их созданием в logcfg.xml:

<dump location="D:\1c_dumps" create="1" type="3"/>

Параметр create включает или отключает создание дампов. Значение 0 выключает их. Тип задаёт степень подробности: полные дампы самые тяжёлые. Для постоянной работы выбирайте облегчённый тип или отключайте дампы совсем, а включайте только на время диагностики.

Не удаляйте файлы из каталога, где работает платформа, пока не убедились, что это дампы или логи. Каталоги 1Cv8Log, 1Cv8.1CD и файлы кластера (1CV8Clst.lst) удалять нельзя: это данные, а не мусор.

Чем отличается очистка в файловом и клиент-серверном варианте

Принципы одни, но точки приложения разные.

ВопросФайловая базаКлиент-серверная база
Где журнал регистрацииВнутри каталога базыВ каталоге кластера на сервере
Кто держит файлыПроцессы клиентовПроцессы сервера 1С
Сокращение журналаИз Конфигуратора, нужен доступ к каталогуИз Конфигуратора, каталог на сервере
Технологический журналНа каждой машине со своим logcfg.xmlНа сервере, один конфиг на машину
ДампыУ каждого клиентаВ основном на сервере

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

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

Как убедиться, что чистка сработала

После любой операции проверьте результат, а не поверьте на слово.

  1. Сравните размер каталога до и после. Запишите цифры, чтобы через месяц видеть темп роста.
  2. Откройте журнал регистрации в режиме 1С:Предприятие и проверьте, что записи за нужный период на месте, а старые исчезли.
  3. Через сутки посмотрите, не появился ли новый всплеск: если журнал снова вырос на гигабайт, причина не в старых данных, а в источнике записей.

Разберём пример. Диск сервера 200 ГБ, свободно 12 ГБ. Журнал регистрации занимает 38 ГБ, техжурнал — 20 ГБ, дампы — 9 ГБ. После сокращения журнала до последних шести месяцев остаётся около 14 ГБ, техжурнал с history="24" держится на 2–3 ГБ, дампы удалены. Итого освобождается примерно 48 ГБ, свободного места становится около 60 ГБ.

Автоматизация: скрипты и планировщик

Ручная чистка забывается. Проще один раз настроить расписание.

Скрипт для Windows

Удаление файлов технологического журнала и дампов старше 7 дней:

forfiles /p "D:\1c_techlog" /s /m *.log /d -7 /c "cmd /c del @path"
forfiles /p "D:\1c_dumps" /s /m *.dmp /d -7 /c "cmd /c del @path"

Здесь /d -7 означает «старше семи дней», /s обходит подкаталоги. Путь и маску под себя поменяйте.

Скрипт для Linux

find /var/1c/techlog -type f -mtime +7 -delete
find /var/1c/dumps -type f -name "*.dmp" -mtime +7 -delete

Сначала запустите без -delete, чтобы увидеть список файлов к удалению. Только потом включайте удаление.

Запуск по расписанию

  • На Windows используйте «Планировщик заданий»: запуск раз в сутки ночью, от учётной записи с правами на каталоги.
  • На Linux пропишите задание в cron, например 30 3 * * * — каждый день в 03:30.

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

Регулярное обслуживание логов
Выполнено: 0 / 6

Если логи продолжают расти

Бывает, что чистка проходит, а через неделю диск снова полный. Диагностика по симптомам:

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

Если ни одна строка не подходит, смотрите свободное место по каталогам ещё раз: возможно, место занимает не лог, а временные файлы пользователей или копии базы.

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

Можно ли просто удалить папку 1Cv8Log?
Технически можно, база продолжит работать, а журнал начнёт писаться заново. Но вся история пропадёт безвозвратно. Лучше сократить журнал штатно или сохранить копию.
Как часто нужно чистить журнал регистрации?
Достаточно раз в квартал или раз в полгода для обычной базы. Для нагруженной с сотнями пользователей — ежемесячно или по расписанию.
Влияет ли размер журнала на скорость работы 1С?
Сама работа пользователей почти не замедляется, но открытие и отбор в журнале на больших объёмах становятся медленными. Заодно растёт время резервного копирования каталога.
Можно ли отключить технологический журнал совсем?
Да. Если файла logcfg.xml нет в каталоге conf, технологический журнал не пишется. Для работы базы он не нужен.
Безопасно ли удалять dmp-файлы?
Для работы системы они не нужны. Удаляйте, но свежие дампы сохраните, если собираетесь обращаться в поддержку или искать причину сбоя.