Журнал регистрации разросся: сокращаем, переносим и настраиваем хранение в 1С 8.3
Содержание
Очистить журнал регистрации
в 1С 8.3 можно из Конфигуратора: пункт Администрирование → Журнал регистрации, кнопка сокращения, дата отсечки, при необходимости сохранение старых записей в файл. Те же параметры доступны и для файловой, и для клиент-серверной базы. Нужны права администратора.
Типичная история: база весит 3 ГБ, а рядом лежит каталог 1Cv8Log на 12 ГБ. Бэкапы раздулись, диск на сервере заканчивается, а виноват не учёт, а служебный журнал, который никто никогда не чистил.
Ниже порядок действий: что проверить до очистки, как сократить журнал руками, чем отличается клиент-серверный вариант и как сделать так, чтобы он больше не разрастался.
Откуда берётся объём и зачем чистить журнал
Журнал регистрации пишет всё: входы пользователей, запись и проведение документов, изменения справочников, ошибки, сообщения регламентных заданий. Чем больше людей и чем активнее обмены, тем быстрее он растёт.
Что это даёт на практике:
- 💾 Растёт каталог журнала, а с ним и размер резервной копии, если журнал попадает в архив.
- 🐢 Открытие журнала и отбор по нему становятся медленными: за годы накапливаются десятки миллионов записей.
- 🧾 Вместе с нужным остаётся мусор: тысячи однотипных записей об ошибке регламентного задания, которая повторяется каждые пять минут.
При этом журнал нужен для разбора инцидентов: кто и когда удалил документ, почему упал обмен. Поэтому «стереть всё» — плохая идея. Правильная цель: оставить последние месяцы, остальное убрать или заархивировать.
Ориентир для небольшой организации: хранить 3-6 месяцев. Для расследований по безопасности иногда держат год, но тогда журнал лучше делить по периодам (об этом ниже).
Что сделать до очистки: подготовка
Сокращение журнала необратимо. Удалённые записи не вернуть, если их не сохранили в файл.
- Определите, где лежит журнал и сколько весит. Для файловой базы это каталог
1Cv8Logрядом с файлом1Cv8.1CD. В клиент-серверном варианте журнал лежит на сервере 1С, в каталоге кластера. - Проверьте свободное место. Если вы сохраняете старые записи в файл перед удалением, нужно место под этот файл.
- Решите, какие записи нужны. Если идёт проверка или расследование, сначала выгрузите журнал, потом сокращайте.
- Выберите время. Чистку лучше проводить вне рабочих часов, пока пользователи не заняты в базе.
- Сделайте резервную копию информационной базы. Журнал в неё не входит, но привычка перед любым вмешательством в базу себя оправдывает.
Если журнал нужен для служебного расследования или аудита — сначала сохраните его в файл, и только потом сокращайте.
Очистка журнала регистрации через Конфигуратор
Это основной способ, он работает в любой версии 8.3.
Пошагово
- Закройте сеансы пользователей или выберите время, когда база почти не используется. Для самой процедуры монопольный режим не нужен, но нагрузка от записи в журнал во время сокращения замедлит работу.
- Запустите базу в режиме Конфигуратора под пользователем с правами администратора.
- Откройте меню
Администрирование → Журнал регистрации. Откроется окно с записями, пока оно вам не нужно. - В том же меню выберите пункт настройки параметров журнала (название включает слова «параметры журнала регистрации»).
- В открывшемся окне найдите кнопку Сократить и нажмите её.
- Укажите дату: будут удалены все записи, созданные раньше. Например, сегодня 7 октября, вам нужны последние полгода — ставьте 7 апреля.
- Если хотите сохранить удаляемое, отметьте сохранение в файл и задайте путь. Файл будет в формате журнала, его потом можно открыть в самой 1С.
- Подтвердите. Время зависит от объёма: на журнале в десятки гигабайт процесс может идти заметно дольше часа.
Не прерывайте сокращение принудительным закрытием Конфигуратора. Если процесс убили, возможны повреждённые файлы журнала. Дайте закончить.
Если требуется удалить совсем всё
Дату ставят сегодняшнюю или ближайшую будущую, и без сохранения в файл. Подходит для тестовых баз и копий, где старый журнал не нужен. Для рабочей базы так делать не стоит.
Как проверить результат
Сравните размер каталога журнала до и после. Откройте журнал: первая запись должна быть не раньше выбранной даты. Если размер не изменился, а записи старые остались, смотрите раздел про ошибки.
Настройка хранения: чтобы журнал не разрастался заново
Одноразовая чистка помогает на месяц-два. Важнее настроить параметры.
В том же окне параметров есть настройки, которые стоит проверить:
| Параметр | Что даёт | Когда менять |
|---|---|---|
| Разделение по периодам (год, месяц, неделя, день) | Журнал хранится отдельными файлами по периодам | Большой журнал: проще удалять и архивировать по частям |
| Формат хранения | Текстовый набор файлов или один файл с базой SQLite | Зависит от версии платформы и задач |
| Отбор событий, которые пишутся | Часть событий не попадает в журнал вообще | Когда в журнале много шума |
Разделение по периодам — самое полезное. Когда журнал разбит по месяцам, старый месяц превращается в отдельный файл, который можно архивировать на другой диск и при необходимости подключить обратно для просмотра.
Если у вас сотни пользователей и обмены каждые несколько минут, разделяйте журнал по дням или неделям. Файлы будут небольшими, и открытие журнала по свежей дате не замедлится.
Отдельно посмотрите, какие события вы реально используете. Запись события «Сеанс. Начало» и «Сеанс. Завершение» для сотни пользователей даёт много строк за день. Если отчётов на их основе вы не делаете, их можно отключить в настройке событий.
Очистка в клиент-серверном варианте
В клиент-серверной базе журнал не лежит в СУБД: он хранится в файлах на сервере 1С. Поэтому часто упоминаемые «SQL-запросы для очистки журнала» к нему не относятся: запросом к PostgreSQL или MS SQL журнал регистрации не очистить, это файлы вне базы данных.
Порядок такой же, как для файловой базы: подключаетесь Конфигуратором к базе на сервере, открываете параметры журнала и сокращаете по дате. Разница в другом:
- 🖥️ Каталог журнала находится на сервере, и место на его диске проверяют там, а не на вашем компьютере.
- 👥 Работают десятки сеансов, они продолжают писать в журнал. Лучше сокращать вне пиковой нагрузки.
- 🔐 Нужны права администратора информационной базы, а не только доступ к кластеру.
Если вы решили вручную удалять файлы журнала с диска сервера, то сначала предупредите пользователей: запись в журнал идёт постоянно, и при удалении файлов «из-под» работающих сеансов можно получить ошибки записи. Правильнее завершить сеансы базы, убедиться, что в консоли кластера их нет, и только после этого трогать каталог.
Завершение сеансов обрывает работу пользователей, у них пропадут несохранённые данные. Делайте это только по согласованию и в нерабочее время.
Что именно раздувает журнал регистраций
Перед сокращением полезно понять, чем он забит. Иначе через два месяца вы снова будете чистить то же самое.
Откройте журнал, поставьте отбор за последнюю неделю и сгруппируйте или отсортируйте записи по событию, пользователю и уровню важности. Обычно картина такая:
- Ошибки регламентных заданий. Задание падает каждые несколько минут, и каждое падение — запись с текстом ошибки. Одна неисправная синхронизация даёт тысячи строк в сутки. Лечить нужно причину, а не журнал.
- Сеансы и аутентификация. Много пользователей, много входов и выходов, плюс сервисные учётные записи обмена, которые подключаются постоянно.
- Данные: изменение и удаление. Если включена запись изменений по большим справочникам и регистрам, журнал растёт вместе с оборотом базы.
- Предупреждения и информация от внешних компонентов. Часто это шум от интеграций.
Если один и тот же текст ошибки повторяется сотнями раз, исправьте его первым. После этого рост журнала нередко падает в несколько раз, и чистить придётся реже.
Для расчёта можно прикинуть простой пример. Журнал растёт на 40 МБ в день, вы храните 6 месяцев: 40 × 180 = 7200 МБ, около 7 ГБ. Если исправить шумное задание и рост снизится до 10 МБ в день, те же полгода займут 1800 МБ, меньше 2 ГБ.
Как сохранить старые записи перед удалением
Если записи могут понадобиться, не удаляйте их вслепую. Есть два рабочих подхода.
Сохранение в файл при сокращении
В окне сокращения отметьте сохранение удаляемых записей в файл и укажите каталог. Хранить архив лучше не на том же диске, где лежит рабочий журнал: при проблемах с диском потеряете и то и другое.
Копия каталога журнала целиком
Самый простой вариант для файловой базы: когда в базе никто не работает , скопируйте каталог журнала вместе с файлами в архив. Это годится как страховка перед первой в вашей жизни чисткой.
Сохранённый файл можно открыть из интерфейса самой 1С: в окне просмотра журнала есть команда открытия журнала из файла (ищите её в меню или на панели окна журнала). Так вы читаете старый архив, не подмешивая его в рабочий журнал.
Автоматизация: расписание и сторонние обработки
Чистка по расписанию
Ручная очистка работает, но о ней забывают. Рабочая схема для организации:
- Включите разделение журнала по месяцам.
- Раз в квартал сокращайте журнал до нужной глубины с сохранением в файл.
- Архивные файлы перекладывайте на сетевой диск и храните столько, сколько требует внутренний регламент.
- Раз в месяц просматривайте журнал на предмет повторяющихся ошибок и исправляйте их.
Так вы не получите ни переполненного диска, ни потерянной истории. Напомнить себе поможет простая запись в календаре администратора, на это хватит пяти минут в месяц.
Сторонние обработки и утилиты
Есть внешние обработки, которые умеют сокращать журнал по расписанию и выгружать его в архив. Пригодятся, если нет желания каждый раз заходить в Конфигуратор.
Что учесть перед использованием:
- Берите обработки только из надёжных источников. Внешняя обработка в базе выполняется с правами пользователя и может сделать что угодно.
- Сначала проверьте на копии базы, потом на рабочей.
- Убедитесь, что она работает именно с вашей версией платформы и форматом журнала.
Если решаете задачу регулярно, надёжнее регламентное задание в вашей конфигурации или по расписанию запускаемый скрипт, который вызывает Конфигуратор в пакетном режиме. Какие именно ключи командной строки использовать, смотрите в справке платформы к запуску 1cv8 в режиме пакетной работы: названия параметров лучше брать из справки вашей версии, а не из памяти.