Журнал регистрации разросся до гигабайт: сокращаем, удаляем и больше не допускаем
Содержание
Удалить журнал регистрации
в 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. Все записи в одной базе данных, частично удалить файл нельзя.
Что сделать до любых действий
- Скопируйте папку
1Cv8Logцеликом на другой диск или в архив. Это ваша страховка и материал для разбирательств. - Договоритесь о времени: удобнее всего вечером или в выходной.
- Проверьте, что у вас есть права администратора в базе и доступ к папке на сервере.
Штатная очистка: команда «Сократить» в конфигураторе
Это самый безопасный способ. Платформа сама удаляет записи до выбранной даты, а свежую историю оставляет.
- Запустите базу в режиме Конфигуратор под пользователем с правами администратора.
- Откройте
Администрирование → Настройка журнала регистрации. - Нажмите Сократить.
- Укажите дату: все события до неё будут удалены. Например, 01.01 текущего года, если старее истории не нужно.
- Если хотите сохранить удаляемое, включите сохранение записей в файл и выберите путь. Получится файл, который потом можно открыть в журнале.
- Подтвердите и дождитесь окончания. На журнале в десятки гигабайт это может занять от нескольких минут до часа.
В режиме 1С:Предприятие журнал можно только смотреть и отбирать: Все функции → Стандартные → Журнал регистрации, а в типовых конфигурациях на БСП — через Администрирование → Обслуживание. Удалять записи оттуда штатно нельзя, поэтому очистка всегда начинается в конфигураторе.
В этом же окне задаётся уровень регистрации. Для большинства рабочих баз хватает регистрации ошибок и предупреждений. Полная регистрация всех событий нужна при расследовании, но журнал растёт в разы быстрее.
Почему файл не стал меньше
В формате SQLite после сокращения записи удаляются, но файл 1Cv8.lgd на диске может почти не уменьшиться: освободившееся место остаётся внутри файла и используется под новые записи. Если цель — именно вернуть место на диске, используйте способ с заменой папки из следующего раздела.
В последовательном формате сокращение удаляет старые файлы .lgp, и место освобождается сразу.
Удаление файлов журнала вручную и на сервере
Способ подходит, когда журнал огромный, «Сократить» работает часами или выдаёт ошибку, а история не нужна (или уже скопирована в архив).
Файловая база
- Закройте базу у всех пользователей. Проверьте, что никто не работает
: в папке базы не должно быть активных сеансов, а при попытке переименовать
1Cv8.1CDWindows не должна ругаться на занятый файл. - Переименуйте папку
1Cv8Logв1Cv8Log_old(лучше переименовать, чем сразу удалять). - Откройте базу. Платформа создаст новую папку
1Cv8Logс пустым журналом. - Проверьте, что события пишутся: откройте журнал, в нём появится запись о вашем входе.
- Через неделю-две, если всё в порядке, старую папку удалите или перенесите в архив.
Клиент-серверная база
Файлы журнала держит открытыми процесс сервера 1С, поэтому при работающей службе удалить их чаще всего не получится.
Остановка службы «Агент сервера 1С:Предприятия 8.3» обрывает сеансы всех пользователей всех баз на этом сервере. Несохранённые данные пропадут. Делайте это только в согласованное окно, предупредив людей заранее.
- Предупредите пользователей и дождитесь, пока они выйдут. Проверить сеансы можно в консоли администрирования кластера.
- Остановите службу агента сервера 1С в оснастке «Службы» Windows.
- Переименуйте папку
1Cv8Logнужной базы вsrvinfo\reg_1541\<идентификатор>. - Запустите службу и войдите в базу. Новая папка журнала создастся автоматически.
- Проверьте запись событий и только потом решайте судьбу старой папки.
Частичное удаление без остановки
В последовательном формате журнал разбит на файлы .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 в мониторинг дискового пространства, если он у вас есть. Простое правило: если журнал весит больше базы, пора пересмотреть уровень регистрации.