Журнал регистрации 1С занял весь диск: сокращаем, настраиваем, автоматизируем

· 9 мин

Содержание

Чтобы уменьшить файл log в 1С, откройте Конфигуратор, меню Администрирование → Настройка журнала регистрации, нажмите «Сократить…» и удалите события старше нужной даты. Чтобы журнал не разросся снова, там же понизьте уровень до «Регистрировать ошибки и предупреждения» и включите разделение по периодам.

Под «файлом log» почти всегда имеют в виду журнал регистрации — папку 1Cv8Log рядом с базой. За пару лет она легко вырастает до 10–30 ГБ, тормозит открытие журнала и съедает место под резервные копии. Чистить его можно тремя путями: из интерфейса 1С, пакетной командой Конфигуратора и прямо в файловой системе.

Почему журнал регистрации 1С разрастается

Платформа пишет в журнал каждое событие выбранного уровня. При уровне «Все события» это вход и выход пользователей, каждая запись документа, каждое изменение данных. В базе на 20 пользователей это десятки тысяч строк в день.

Основные причины роста:

  • 📈 Уровень «Регистрировать все события» — включён по умолчанию во многих базах, хотя информационные записи нужны редко.
  • 🔁 Регламентные задания с частым запуском — обмены, загрузка курсов, интеграции раз в минуту пишут в журнал без остановки.
  • 🐞 Циклическая ошибка — обработка или обмен падает каждые несколько секунд, и каждое падение оставляет запись с текстом ошибки и стеком.
  • 🗓️ Журнал не разделён по периодам — все годы истории живут в одном наборе файлов, и старое нельзя просто убрать в архив.
  • 🧹 Никто не сокращал журнал — платформа сама старые события не удаляет, сколько бы лет ни прошло.

Если журнал вырос резко, за неделю-две, ищите не уровень, а источник. Откройте журнал, отфильтруйте по последним дням и посмотрите, какое событие повторяется тысячами раз. Чаще всего это одно регламентное задание или один сбойный обмен.

Где лежит файл журнала и как оценить его размер

Журнал хранится в отдельной папке 1Cv8Log. Её расположение зависит от варианта работы базы.

Вариант базыГде искать папку журнала
Файловая<каталог базы>\1Cv8Log — рядом с файлом 1Cv8.1CD
Клиент-серверная, WindowsC:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы>\1Cv8Log
Клиент-серверная, Linux/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID базы>/1Cv8Log

Каталог srvinfo может быть перенесён при установке сервера, а reg_1541 меняется, если кластер работает на другом порту. GUID базы проще всего найти в файле 1CV8Clst.lst в той же папке reg_1541: там рядом с именем каждой базы указан её идентификатор.

Внутри папки — файлы одного из двух форматов:

  • 📄 Последовательный формат: 1Cv8.lgf (словарь: пользователи, компьютеры, метаданные) и файлы данных *.lgp. При разделении по периодам у каждого периода свой .lgp с датой в имени.
  • 🗄️ Формат SQLite: один файл 1Cv8.lgd, внутри — база данных со всеми событиями.

Формат зависит от версии платформы, на которой создавалась база, и от того, конвертировали ли журнал. Посмотреть размер можно в свойствах папки в проводнике или командой PowerShell:

"{0:N1} ГБ" -f ((Get-ChildItem "D:\Bases\Buh\1Cv8Log" -Recurse | Measure-Object Length -Sum).Sum / 1GB)

Как уменьшить поток записей: уровень событий

Сокращение без смены уровня даёт эффект на пару месяцев. Начните с того, чтобы журнал перестал расти так быстро.

В Конфигураторе

  1. Запустите базу в режиме Конфигуратора под администратором.
  2. Откройте Администрирование → Настройка журнала регистрации.
  3. В группе уровня выберите нужный вариант (таблица ниже).
  4. Нажмите «ОК». Настройка применяется сразу, перезапуск не нужен.
УровеньЧто попадает в журналКогда выбирать
Не регистрироватьНичегоПочти никогда: при сбое нечего будет разобрать
ОшибкиТолько ошибкиТестовые и учебные базы
Ошибки и предупрежденияОшибки и предупрежденияРазумный выбор для большинства рабочих баз
Ошибки, предупреждения и информацияПлюс информационные сообщенияКогда нужны события из кода конфигурации
Все событияПлюс примечания: входы, записи объектов, изменения данныхКогда нужен аудит «кто что изменил»

Уровень «Все события» нужен, если бухгалтерия разбирает спорные изменения документов по журналу. Перед понижением уровня спросите главного бухгалтера или службу безопасности: после смены вы не узнаете, кто правил проведённый документ.

В пользовательском режиме

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) уровень можно поменять без Конфигуратора. Откройте раздел Администрирование → Обслуживание, в группе журналов найдите ссылку на настройки журнала регистрации. Нужны права администратора.

Как очистить журнал регистрации и уменьшить его размер

Главный инструмент — сокращение журнала в Конфигураторе. Оно удаляет события до указанной даты и может сохранить их в отдельный файл.

Пошагово через Конфигуратор

  1. Сделайте копию папки 1Cv8Log, если удалённые события могут понадобиться при проверке или споре.
  2. Откройте Администрирование → Настройка журнала регистрации.
  3. Нажмите «Сократить…».
  4. Укажите дату: всё, что раньше неё, будет удалено. Для рабочей базы обычно оставляют 3–6 месяцев.
  5. Если нужна история, включите сохранение удаляемых событий в файл и укажите путь на другом диске.
  6. Нажмите «ОК» и дождитесь окончания. Для журнала на 20 ГБ это может занять от десятков минут до нескольких часов.

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

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

Разделение журнала по периодам

В том же окне настройки есть параметр разделения журнала по периодам. Включите его (например, по месяцам): платформа начнёт писать каждый период в свой файл. Это и есть встроенная ротация — старые файлы потом можно архивировать без Конфигуратора.

Если файл .lgd не уменьшился

В формате SQLite удаление событий освобождает место внутри файла, но размер самого 1Cv8.lgd на диске может почти не измениться. Новые записи займут освободившееся пространство, и файл перестанет расти. Если нужно вернуть место на диск сразу, удобнее перевести журнал в последовательный формат с разделением по периодам: тогда объём регулируется удалением целых файлов.

Ручная работа с файлами журнала в ОС

Иногда Конфигуратор не открывается или сокращение идёт сутками. Тогда работают с файлами напрямую.

Удаление старых периодов

Если журнал уже разделён по периодам, в папке лежат файлы вида 20250101000000.lgp. Цифры в имени — начало периода.

  1. Определите, какие периоды больше не нужны.
  2. Перенесите их файлы в архив (внешний диск, сетевая папка) или удалите.
  3. Файл 1Cv8.lgf и текущий .lgp не трогайте: это словарь и активный период.

Для старых, закрытых периодов остановка сеансов не нужна: платформа пишет только в текущий файл.

Полная очистка папки 1Cv8Log

Крайняя мера, когда история не нужна вообще.

  1. Скопируйте папку 1Cv8Log в архив, если есть хоть малейшее сомнение.
  2. Завершите все сеансы базы. Для файловой базы — закройте 1С у всех пользователей. Для серверной — остановите службу «Агент сервера 1С:Предприятия».
  3. Удалите содержимое папки 1Cv8Log (или переименуйте саму папку).
  4. Запустите службу или базу. Платформа создаст новый пустой журнал.

Остановка службы агента сервера обрывает сеансы ВСЕХ баз кластера, а не одной. Пользователи потеряют несохранённые данные, фоновые задания прервутся. Делайте это только в согласованное окно, после предупреждения сотрудников.

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

Автоматическая очистка и ротация журнала

Ручная чистка раз в год быстро забывается. Надёжнее поставить задачу в планировщик.

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

У Конфигуратора есть параметр командной строки /ReduceEventLogSize. Он делает то же, что кнопка «Сократить…», без открытия окна. Формат даты — ГГГГ-ММ-ДД, необязательный ключ -saveAs сохраняет удаляемые события в файл.

Пример скрипта PowerShell, который оставляет последние 90 дней:

$date  = (Get-Date).AddDays(-90).ToString('yyyy-MM-dd')
$exe   = "C:\Program Files\1cv8\8.3.24.1586\bin\1cv8.exe"
$arch  = "E:\LogArchive\buh_до_$date.lgp"

& $exe DESIGNER /S "srv1c\buh" /N "Администратор" /P "пароль" `
  /ReduceEventLogSize $date -saveAs $arch `
  /Out "E:\LogArchive\reduce.log" /DisableStartupDialogs

Для файловой базы замените /S "srv1c\buh" на /F "D:\Bases\Buh". Путь к 1cv8.exe подставьте под свою версию платформы.

Как поставить на расписание:

  1. Сохраните скрипт, например C:\Scripts\reduce_log.ps1.
  2. Откройте «Планировщик заданий» Windows и создайте задачу.
  3. Триггер — ежемесячно, ночью.
  4. Действие — запуск powershell.exe с аргументом -File C:\Scripts\reduce_log.ps1.
  5. Запуск от учётной записи, у которой есть доступ к каталогу архива.

Пароль администратора 1С в открытом скрипте — риск. Заведите в базе отдельного пользователя только для обслуживания и ограничьте доступ к папке со скриптом.

Архивация периодов скриптом

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

$log  = "D:\Bases\Buh\1Cv8Log"
$dest = "E:\LogArchive\Buh"
Get-ChildItem $log -Filter *.lgp |
  Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-180) } |
  Move-Item -Destination $dest

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

Какой способ уменьшить журнал вам подходит?

Как размер журнала влияет на диск и скорость работы

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

  • 🐢 Открытие журнала. Форма читает и фильтрует события. При журнале на десятки гигабайт отбор за месяц может строиться минутами.
  • 💾 Место на диске. Журнал обычно лежит на системном диске сервера. Когда тот заполняется, падает уже служба 1С и СУБД.
  • 📦 Резервные копии. Если папку базы копируют целиком, журнал раздувает каждый бэкап и удлиняет его.
  • ⏱️ Диск под нагрузкой. При уровне «Все события» и сотнях пользователей журнал заметно добавляет операций записи.

Ориентир: если журнал больше самой базы, пора чистить и настраивать. Для типичной базы бухгалтерии на 10–30 пользователей при уровне «Ошибки и предупреждения» журнал растёт на сотни мегабайт в год, а не на гигабайты.

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

Частые ошибки при очистке журнала

  • ❌ Удалили 1Cv8.lgf при работающих сеансах. Журнал портится, при открытии формы — ошибки. Сначала остановка сеансов, потом файлы.
  • ❌ Сократили журнал, но оставили «Все события». Через полгода объём вернётся. Сокращение и настройка уровня — пара.
  • ❌ Удалили историю перед проверкой. Журнал — единственный след правок документов. Перед сокращением узнайте у бухгалтерии, не идёт ли аудит или налоговая проверка.
  • ❌ Почистили не ту папку. В reg_1541 десятки папок с GUID. Сверьте идентификатор по 1CV8Clst.lst, а не по дате изменения.
  • ❌ Положили архив на тот же диск. Место не освободилось, просто переехало.

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

Можно ли полностью отключить журнал регистрации 1С?
Можно, уровнем «Не регистрировать». Но тогда при сбое обмена или спорной правке документа не будет никакой информации. Минимум для рабочей базы — ошибки и предупреждения.
Сколько истории журнала обычно хранят?
Для рабочей базы — 3–12 месяцев в живом журнале. Остальное выгружают в файл архива, если история может понадобиться при проверке.
Влияет ли очистка журнала на данные базы?
Нет. Журнал хранится отдельно от данных: документы, справочники и остатки не меняются. Теряется только история событий.
Почему журнал растёт, хотя уровень — только ошибки?
Значит, база постоянно падает с ошибкой. Откройте журнал за последний час: одно и то же событие с интервалом в секунды укажет на сбойное регламентное задание или обмен.
Попадает ли журнал регистрации в выгрузку .dt?
Нет, выгрузка информационной базы журнал не содержит. Если нужно перенести историю на другой сервер, копируйте папку 1Cv8Log отдельно.