Очистка журнала регистрации, технологического журнала и dmp-файлов 1С
Содержание
Логи 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. Способ очистки при этом общий.
Очистка журнала регистрации через Конфигуратор
Журнал регистрации сам по себе не сжимается: он растёт, пока вы его не сократите. Для больших баз с сотнями пользователей это гигабайты в год.
Разовое сокращение
- Закройте всех пользователей из базы или предупредите их. Сокращение требует монопольного доступа не всегда, но надёжнее сделать это в окне без нагрузки.
- Откройте базу в Конфигураторе под администратором.
- В меню «Администрирование» найдите пункт «Журнал регистрации».
- Выберите действие «Сокращение журнала регистрации».
- Укажите дату: всё, что старше, будет удалено. Для рабочей базы обычно хватает последних 3–6 месяцев.
- Если нужно сохранить удаляемое, включите сохранение в архив и укажите папку. Архив получится в виде отдельных файлов журнала.
- Подтвердите. Время операции зависит от объёма и скорости диска.
Перед сокращением скопируйте 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с условием — фильтр. Без фильтра журнал пишет всё и разрастается за часы.
Три правила, которые экономят место:
- 🎯 Узкий фильтр. Включайте только нужные события:
EXCP(исключения),TLOCKиTTIMEOUT(блокировки). Не включайтеCALL,SDBLиDBMSSQLбез причины: они дают огромные объёмы. - ⏱️ Короткая история. Для постоянного сбора хватит 24–72 часов. Для разового расследования ставьте минимум и удаляйте конфиг после.
- 💾 Отдельный диск. Если журнал заполнит системный раздел, встанет всё, включая сервер 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С:Предприятие и проверьте, что записи за нужный период на месте, а старые исчезли.
- Через сутки посмотрите, не появился ли новый всплеск: если журнал снова вырос на гигабайт, причина не в старых данных, а в источнике записей.
Разберём пример. Диск сервера 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.
Для сокращения журнала регистрации по расписанию можно запускать Конфигуратор в пакетном режиме, но настройка зависит от версии платформы. Сверьтесь с документацией вашей версии и проверьте на копии базы.
Если логи продолжают расти
Бывает, что чистка проходит, а через неделю диск снова полный. Диагностика по симптомам:
logcfg.xml нет фильтра или включены тяжёлые события (CALL, SDBL). Сузьте условие, задайте history и вынесите каталог на отдельный диск.1Cv8.lgf или часть файлов журнала. Восстановите каталог 1Cv8Log из резервной копии.Если ни одна строка не подходит, смотрите свободное место по каталогам ещё раз: возможно, место занимает не лог, а временные файлы пользователей или копии базы.
Частые вопросы
Можно ли просто удалить папку 1Cv8Log?
Как часто нужно чистить журнал регистрации?
Влияет ли размер журнала на скорость работы 1С?
Можно ли отключить технологический журнал совсем?
logcfg.xml нет в каталоге conf, технологический журнал не пишется. Для работы базы он не нужен.