Журнал регистрации разросся до гигабайт: сокращаем, удаляем и больше не допускаем

· 9 мин

Содержание

Удалить журнал регистрации в 1С 8.3 штатно можно в конфигураторе: Администрирование → Настройка журнала регистрации → Сократить. Там задают дату, до которой записи будут стёрты, и при желании сохраняют удаляемое в файл. Радикальный способ — удалить или переименовать папку 1Cv8Log при закрытой базе: платформа создаст пустой журнал при следующем запуске.

Частое заблуждение — искать «журнал» в настройках logcfg.xml или чистить папку %TEMP%. Это другое: технологический журнал и временные файлы. Журнал регистрации — это история событий самой информационной базы: входы, изменения данных, ошибки. Его очистка не трогает документы и справочники, но стирает следы того, кто и что менял.

Когда журнал пора чистить и чем грозит промедление

Журнал растёт постоянно. За год в базе на 20–30 пользователей он легко набирает десятки гигабайт, особенно если включена регистрация всех событий и работают регламентные задания.

Признаки, что пора заняться журналом:

  • 🐢 форма журнала открывается минутами или зависает при установке отбора;
  • 💾 на диске с базой заканчивается место, а папка 1Cv8Log весит больше самой базы;
  • 📦 резервные копии файловой базы раздуваются, потому что копируют и журнал;
  • ⛔ при работе появляются ошибки записи в журнал или сообщения о повреждённом файле;
  • 🔁 после переноса базы журнал оказался «чужим» и мешает (например, тянет за собой историю тестовой копии).

Когда чистить не нужно:

  • идёт внутренняя проверка, расследование или спор о том, кто удалил документ, — журнал ваш главный свидетель;
  • база маленькая, журнал весит сотни мегабайт и ничему не мешает;
  • проблема в скорости работы самой базы, а не журнала. Очистка журнала проведение документов не ускорит.

Пример из практики: файловая база бухгалтерии весит 4 ГБ, а 1Cv8Log рядом с ней — 23 ГБ. Ночная копия всей папки идёт три часа и иногда не успевает до утра. После замены журнала и снижения уровня регистрации копия занимает 25 минут, а журнал за следующий год набирает около 2 ГБ.

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

Подготовка к удалению журнала регистрации

Сначала определите, где физически лежит журнал и в каком он формате. От этого зависит способ.

Где лежит папка 1Cv8Log

Тип базыРасположение журнала
ФайловаяПодпапка 1Cv8Log в каталоге базы, рядом с файлом 1Cv8.1CD
Клиент-серверная<каталог службы>\srvinfo\reg_1541\<идентификатор базы>\1Cv8Log на сервере 1С

Каталог файловой базы виден в окне запуска: выделите базу в списке, путь отображается внизу окна.

Для серверной базы папка называется не именем базы, а её идентификатором (набор символов вида GUID). Соответствие имён и идентификаторов хранится в файле 1CV8Clst.lst в папке reg_1541. Его можно открыть блокнотом только для чтения и найти имя базы поиском. Ничего в этом файле не меняйте.

Если служба установлена со стандартными параметрами, srvinfo лежит в C:\Program Files\1cv8\srvinfo. Если при установке указывали другой каталог, его видно в свойствах службы «Агент сервера 1С:Предприятия 8.3» в параметре -d.

Какой у журнала формат

Откройте папку 1Cv8Log и посмотрите на файлы:

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

Что сделать до любых действий

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

Штатная очистка: команда «Сократить» в конфигураторе

Это самый безопасный способ. Платформа сама удаляет записи до выбранной даты, а свежую историю оставляет.

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

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

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

Почему файл не стал меньше

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

В последовательном формате сокращение удаляет старые файлы .lgp, и место освобождается сразу.

Удаление файлов журнала вручную и на сервере

Способ подходит, когда журнал огромный, «Сократить» работает часами или выдаёт ошибку, а история не нужна (или уже скопирована в архив).

Файловая база

  1. Закройте базу у всех пользователей. Проверьте, что никто не работает : в папке базы не должно быть активных сеансов, а при попытке переименовать 1Cv8.1CD Windows не должна ругаться на занятый файл.
  2. Переименуйте папку 1Cv8Log в 1Cv8Log_old (лучше переименовать, чем сразу удалять).
  3. Откройте базу. Платформа создаст новую папку 1Cv8Log с пустым журналом.
  4. Проверьте, что события пишутся: откройте журнал, в нём появится запись о вашем входе.
  5. Через неделю-две, если всё в порядке, старую папку удалите или перенесите в архив.

Клиент-серверная база

Файлы журнала держит открытыми процесс сервера 1С, поэтому при работающей службе удалить их чаще всего не получится.

Остановка службы «Агент сервера 1С:Предприятия 8.3» обрывает сеансы всех пользователей всех баз на этом сервере. Несохранённые данные пропадут. Делайте это только в согласованное окно, предупредив людей заранее.

  1. Предупредите пользователей и дождитесь, пока они выйдут. Проверить сеансы можно в консоли администрирования кластера.
  2. Остановите службу агента сервера 1С в оснастке «Службы» Windows.
  3. Переименуйте папку 1Cv8Log нужной базы в srvinfo\reg_1541\<идентификатор>.
  4. Запустите службу и войдите в базу. Новая папка журнала создастся автоматически.
  5. Проверьте запись событий и только потом решайте судьбу старой папки.

Частичное удаление без остановки

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

  • ✅ можно переносить .lgp за прошлые периоды (по дате изменения файла видно, что он давно не обновлялся);
  • ❌ нельзя трогать 1Cv8.lgf — без него оставшиеся записи не прочитать;
  • ❌ нельзя трогать самый свежий .lgp: в него идёт текущая запись.

Если файл не переносится и Windows сообщает, что он занят, — оставьте его, это действующий файл.

Сравнение способов

СпособКогда подходитРиски
«Сократить» в конфигуратореНужно оставить свежую историюДолго на огромном журнале; в SQLite место может не освободиться
Перенос старых .lgpПоследовательный формат, нельзя останавливать серверОшибиться файлом и задеть словарь .lgf
Замена папки 1Cv8LogЖурнал огромный или повреждён, история не нужнаВся история теряется; на сервере нужна остановка службы

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

Большинство проблем с журналом связано не с самой 1С, а с правами Windows, местом на диске и повреждением файлов.

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

Если журнал перестал открываться после того, как на диске кончилось место, сначала освободите диск. Иначе новая папка тоже окажется повреждённой при первой же нехватке места.

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

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

Уровень регистрации и разделение по периодам

В том же окне Администрирование → Настройка журнала регистрации:

  • 🎚 понизьте уровень до «ошибки» или «ошибки и предупреждения», если полная история не требуется;
  • 📅 для последовательного формата включите разделение журнала по периодам — например, по месяцам. Тогда каждый месяц будет в отдельном файле .lgp, и старые месяцы легко переносить в архив.

Скрипт архивации старых файлов

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

@echo off
rem Каталог журнала базы и каталог архива — замените на свои
set LOGDIR=D:\Bases\Buh\1Cv8Log
set ARCHDIR=E:\Archive\1Cv8Log\Buh

robocopy "%LOGDIR%" "%ARCHDIR%" *.lgp /MOV /MINAGE:180 /R:1 /W:5

Ключ /MINAGE:180 берёт только файлы старше 180 дней, /MOV удаляет их из исходной папки после копирования. Словарь 1Cv8.lgf маской *.lgp не затрагивается.

Если архив не нужен и файлы можно просто удалять:

forfiles /p "D:\Bases\Buh\1Cv8Log" /m *.lgp /d -180 /c "cmd /c del @path"

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

Контроль размера

Добавьте папку 1Cv8Log в мониторинг дискового пространства, если он у вас есть. Простое правило: если журнал весит больше базы, пора пересмотреть уровень регистрации.

Профилактика журнала регистрации
Выполнено: 0 / 5

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

Удаление журнала регистрации повлияет на данные базы?
Нет. Документы, справочники и регистры хранятся отдельно. Пропадёт только история событий: кто входил и что менял.
Можно ли удалить записи только одного пользователя?
Штатно нет. «Сократить» удаляет все события до даты. Выборочно стереть действия конкретного сотрудника платформа не позволяет.
Как посмотреть журнал, сохранённый при сокращении?
Надёжнее всего развернуть копию базы, подложить в неё архивную папку 1Cv8Log вместо пустой и открыть журнал в этой копии. Рабочую базу при этом трогать не нужно.
Журнал попадёт в выгрузку .dt?
Нет. Файл выгрузки содержит данные и конфигурацию, а журнал остаётся в папке 1Cv8Log исходной базы. При переносе через .dt новая база начинает журнал с чистого листа.
Нужно ли чистить журнал в облачной базе 1С:Фреш?
Нет, доступа к файлам там нет, обслуживанием журнала занимается поставщик сервиса.