Администрирование · 9 мин
Как уменьшить лог-файл в 1С: инструкция для администратора
Разбираем, почему разрастаются лог-файлы 1С: технологический журнал, журнал регистрации, лог транзакций SQL. Практические шаги по уменьшению и настройке.
Лог-файлы в 1С растут постоянно, и на активно используемой базе они способны занять десятки гигабайт дискового пространства. При этом под «логом» в 1С понимают сразу несколько разных сущностей: технологический журнал платформы, журнал регистрации информационной базы, лог транзакций сервера СУБД (MS SQL или PostgreSQL), а также служебные файлы кластера серверов 1С. Уменьшать их нужно по-разному, и ошибка в выборе метода может стоить потери данных.
Прежде чем что-то удалять, важно определить, какой именно файл разросся. Чаще всего администраторы обнаруживают проблему по заполнению диска: перестают записываться документы, падают регламентные задания, база переходит в аварийный режим. Эта статья поможет найти источник проблемы, безопасно уменьшить лог и настроить его так, чтобы ситуация не повторялась.
Как определить, какой лог-файл разросся
Первый шаг — найти самые большие файлы на дисках сервера. На Windows удобно использовать проводник с сортировкой по размеру или встроенный поиск по маске, на Linux — команду du. Обратите внимание на типичные расположения логов 1С и СУБД.
По умолчанию — каталог conf или заданный в logcfg.xml
Растёт при файловом режиме работы; в клиент-серверном варианте хранится в каталоге базы на сервере 1С
Находится в каталоге данных СУБД, растёт при полной модели восстановления без бэкапов лога
Содержит журналы кластера и списки сеансов
Если разросся файл с расширением .ldf — это лог транзакций MS SQL, и работать с ним нужно средствами СУБД, а не удалять вручную. Если большой объём занимает каталог с файлами вида *.log и именами процессов 1С — это технологический журнал. Файл 1Cv8.lgd — журнал регистрации, который сокращается из конфигуратора.
Уменьшение технологического журнала 1С
Технологический журнал включается файлом конфигурации logcfg.xml, который размещают в каталоге conf платформы на сервере. Если журнал был включён для диагностики и забыт, он может писать гигабайты событий в сутки. Самый простой способ остановить рост — отключить журнал или сузить набор событий.
Полное отключение выполняется переименованием или удалением файла logcfg.xml с последующим перезапуском службы агента сервера 1С (либо ожиданием, пока платформа перечитает конфигурацию). Если журнал нужен для диагностики, настройте в logcfg.xml ротацию: ограничение по размеру каталога или по времени хранения через элемент history.
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="D:\1c_logs" history="24">
<event><eq property="name" value="EXCP"/></event>
<property name="all"/>
</log>
</config>Параметр history задаёт время хранения логов в часах — в примере 24 часа, и платформа сама удалит старые файлы. После настройки вручную очистите накопленный каталог: остановите службу агента сервера 1С, удалите старые подкаталоги технологического журнала и запустите службу снова.
- 1Найдите каталог, указанный в logcfg.xml (атрибут location), или каталог conf по умолчанию
- 2Оцените объём каталога и дату самых старых файлов
- 3Отредактируйте logcfg.xml: добавьте history и оставьте только нужные события
- 4Перезапустите службу агента сервера 1С
- 5Удалите старые файлы журнала вручную
- 6Через сутки проверьте, что ротация работает и объём не растёт
Сокращение журнала регистрации
Журнал регистрации хранит историю действий пользователей и системных событий. В файловой базе это файл 1Cv8.lgd, который со временем разрастается до нескольких гигабайт и начинает замедлять запись событий. Уменьшить его можно только штатным способом — через сокращение в конфигураторе.
Откройте конфигуратор с монопольным доступом, перейдите в меню «Администрирование» → «Настройка журнала регистрации» → кнопка «Сократить». Укажите дату, до которой удалять события, и обязательно включите выгрузку удаляемых событий в файл, если история может понадобиться для аудита. После сокращения старый файл журнала сохраняется рядом с расширением .lgd.old — его можно архивировать и убрать с диска.
Чтобы журнал не разрастался снова, в том же окне настройки уменьшите детализацию: отключите регистрацию информационных сообщений и оставьте только ошибки и предупреждения, если полная история действий не требуется регламентом компании.
Сжатие лога транзакций MS SQL Server
Самая частая причина заполнения диска на клиент-серверной 1С — разросшийся .ldf-файл базы MS SQL. Лог транзакций растёт, когда база работает в модели восстановления Full, но резервные копии журнала не делаются. Простое сжатие (shrink) без смены модели восстановления даст лишь временный эффект.
Если восстановление базы на произвольный момент времени не требуется, переведите базу в модель восстановления Simple: в SQL Server Management Studio откройте свойства базы, вкладка Options, параметр Recovery model. После этого выполните сжатие файла лога через задачу Shrink → Files, выбрав тип файла Log.
ALTER DATABASE [MyBase] SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE (N'MyBase_log', 1024);
GOЕсли модель Full нужна по требованиям отказоустойчивости, настройте регулярное резервное копирование журнала транзакций — только после бэкапа лога его внутреннее пространство освобождается, и shrink даст результат. Без резервных копий лог будет расти неограниченно.
Особенности PostgreSQL и файловых баз
В PostgreSQL аналог лога транзакций — файлы WAL в каталоге pg_wal. При штатной работе их объём регулируется параметрами max_wal_size и архивацией; рост каталога обычно означает проблему с архивированием WAL или слотом репликации, который не читается. Удалять файлы из pg_wal вручную категорически нельзя.
В файловых базах 1С, помимо журнала регистрации, место занимают временные файлы и копии. Проверьте каталог базы на наличие старых файлов *.1CD.cpy, архивов выгрузок .dt и резервных копий, которые забыли перенести на внешнее хранилище.
Сравнение вариантов
Подходит для большинства баз 1С без требований point-in-time восстановления; простое обслуживание, но нельзя восстановить данные на произвольный момент
Нужна при строгих требованиях к восстановлению; требует настроенного расписания бэкапов журнала и контроля их выполнения
Параметр MAXSIZE в MS SQL как страховка от переполнения диска; при достижении лимита транзакции начнут откатываться, поэтому это не замена обслуживанию
Проверка результата и профилактика
После всех операций убедитесь, что база работает корректно: пользователи подключаются, документы проводятся, регламентные задания выполняются. Проверьте свободное место на диске и настройте мониторинг, чтобы узнавать о росте логов до заполнения диска.
Как проверить результат
Файл уменьшился до заданного размера и не растёт сутками
Размер вернулся за день — модель Full без бэкапов лога
Конфигуратор и пользователи работают, новые события пишутся
Ошибки открытия журнала — проверьте целостность файлов
Старые каталоги удаляются автоматически по history
Каталог растёт — logcfg.xml не перечитан, перезапустите службу
Для профилактики включите в регламент обслуживания: еженедельную проверку свободного места, контроль выполнения резервных копий (включая бэкапы лога при модели Full) и периодическое сокращение журнала регистрации. Автоматизируйте очистку каталога технологического журнала через параметр history, чтобы не делать это вручную.
Частые вопросы
Можно ли просто удалить файл 1Cv8.lgd?
Удаление файла приведёт к потере всей истории журнала регистрации, а при некорректном удалении во время работы базы — к ошибкам записи. Правильный путь — сокращение через конфигуратор с выгрузкой удаляемых событий в отдельный файл.
Почему лог MS SQL не уменьшается после shrink?
Чаще всего база работает в модели восстановления Full, а резервная копия журнала транзакций ни разу не создавалась. Сначала сделайте бэкап лога или переведите базу в модель Simple, и только потом выполняйте сжатие файла.
Безопасно ли отключать журнал регистрации полностью?
Технически да, но вы потеряете возможность выяснить, кто и когда изменил данные. Разумный компромисс — оставить регистрацию ошибок и изменений данных, отключив только информационные сообщения.
Как часто нужно сокращать журнал регистрации?
Зависит от интенсивности работы: на активных базах — раз в месяц или квартал, на небольших — раз в полгода. Ориентируйтесь на размер файла 1Cv8.lgd и требования к глубине хранения истории.
Что делать, если диск заполнен и база не открывается?
Освободите место безопасными способами: удалите старые файлы технологического журнала, временные файлы, старые выгрузки .dt. Не трогайте файлы базы данных и логов СУБД. После освобождения места база обычно запускается штатно.
Что важно запомнить
Определите тип разросшегося лога и применяйте штатный метод: logcfg.xml с ротацией для технологического журнала, сокращение через конфигуратор для журнала регистрации, модель Simple и shrink для лога MS SQL. Перед операциями с логами СУБД всегда делайте резервную копию и никогда не удаляйте файлы СУБД вручную.