В процессе интенсивной эксплуатации платформ 1С Предприятие 8.3 администраторы часто сталкиваются с критической нехваткой дискового пространства на сервере. Одной из главных причин переполнения раздела являются файлы журналов регистрации и технологических журналов, которые по умолчанию могут расти бесконечно или сохранять данные за очень длительный период. Эти файлы содержат детальную информацию о действиях пользователей и ошибках системы, но их избыточный объем способен замедлить работу кластера серверов и вызвать сбои в запуске баз данных.

Правильная очистка логов требует не просто механического удаления файлов через проводник или консоль, а понимания архитектуры хранения данных в файловом режиме и клиент-серверном варианте. Неправильные действия могут привести к повреждению текущей сессии или потере важной диагностической информации, необходимой для анализа инцидентов. В этой статье мы рассмотрим безопасные методы освобождения места, настройки автоматической ротации и специфические команды для различных операционных систем.

Важно понимать, что процедура отличается в зависимости от того, где именно хранятся логи: в каталоге информационной базы, в системной папке кластера серверов или в отдельном хранилище технологического журнала. Игнорирование этих различий может привести к тому, что система перестанет записывать новые события или, хуже того, повредит структуру файлов.

Анализ структуры хранения логов на сервере

Прежде чем приступать к удалению, необходимо точно определить расположение файлов журналов. В современных версиях платформы 1С:Предприятие структура хранения данных строго регламентирована. Файлы журналов регистрации обычно находятся в подкаталоге log внутри каталога информационной базы или в специальном разделе кластера серверов. Для технологических журналов (ТЖ) путь часто задается отдельно в конфигурационном файле ragent.cfg или через консоль администрирования.

Размер файлов может достигать десятков гигабайт, если не настроена политика ротации. Основной файл журнала регистрации имеет расширение .lgd, а сопутствующие файлы индексов — .lgi. При активном использовании базы эти файлы обновляются в реальном времени. Технологический журнал записывает низкоуровневые события работы сервера 1С и может занимать еще больше места при включенном детальном логировании.

⚠️ Внимание: Никогда не удаляйте файлы логов, пока служба сервера 1С (rmngr или rphost) активна и использует эти файлы. Это может привести к зависанию процессов или некорректной записи данных в момент удаления.

Для анализа занимаемого места в операционной системе Linux удобно использовать утилиту du, а в Windows — встроенные средства просмотра свойств папки или сторонние анализаторы диска. Критически важно найти самые крупные файлы, так как именно они являются кандидатами на очистку или архивацию.

💡

Используйте команду find /path/to/logs -type f -size +100M в Linux для быстрого поиска файлов журналов размером более 100 мегабайт.

Очистка журналов регистрации средствами платформы

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

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

  • 🗑️ Выберите дату отсечения: все события до этой даты будут удалены из файла журнала.
  • 📅 Установите фильтр по пользователям: можно очистить логи только конкретного сотрудника.
  • 🔒 Требуется исключительный режим: для глубокой очистки может потребоваться завершение всех сеансов.

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

📊 Как вы предпочитаете чистить логи 1С?
Через интерфейс конфигуратора
Прямым удалением файлов
Скриптом на PowerShell
Скриптом на Bash

Ручное удаление файлов в файловом режиме

В ситуациях, когда интерфейс недоступен или база работает в файловом варианте на отдельном сервере, администраторы часто прибегают к прямому удалению файлов. Этот метод требует крайней осторожности и обязательной остановки службы или завершения всех пользовательских сеансов. Файлы журналов в файловом режиме обычно расположены в папке 1Cv8Log внутри каталога базы данных.

Процесс ручной очистки начинается с полной остановки работы с базой данных. Необходимо убедиться, что ни один пользователь не подключен к базе, и процессы 1cv8c.exe или 1cv8.exe не обращаются к файлам логов. После этого можно безопасно удалить файлы с расширением .lgd и .lgi. При следующем запуске база автоматически создаст новые чистые файлы журнала.

# Пример последовательности действий в Linux

systemctl stop svc1cv83

cd /opt/1c/bases/my_base/1Cv8Log

rm .lgd .lgi

systemctl start svc1cv83

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

⚠️ Внимание: Интерфейсы и пути к файлам могут измениться в новых релизах платформы. Всегда сверяйте актуальную структуру каталогов в официальной документации фирмы "1С" перед выполнением операций удаления.

Настройка автоматической ротации в Linux

Для серверов под управлением ОС Linux оптимальным решением проблемы разрастания логов является настройка системной утилиты logrotate. Этот инструмент позволяет автоматически архивировать старые файлы журналов, сжимать их и удалять по расписанию, не требуя вмешательства администратора. Правильная конфигурация logrotate избавляет от риска переполнения диска.

Конфигурационный файл для 1С обычно создается в директории /etc/logrotate.d/. В нем прописываются пути к файлам журналов, частота ротации (ежедневно, еженедельно) и количество хранимых архивов. Важно использовать параметр copytruncate, так как процесс сервера 1С может держать файл открытым постоянно, и обычное перемещение файла приведет к ошибкам записи.

Параметр Значение Описание
daily Ежедневно Проверка и ротация файлов каждый день
rotate 7 7 архивов Хранить логи за последнюю неделю
compress Включено Сжимать старые файлы архивом gzip
missingok Игнорировать Не выдавать ошибку, если файл отсутствует

Пример конфигурации может выглядеть следующим образом: указываем путь к файлам /home/usr1cv8/.1cv8/8.3//log/.log, устанавливаем сжатие и ограничение по размеру. Это позволяет гибко управлять дисковым пространством, сохраняя при этом историю событий за необходимый период для аудита.

Пример конфига logrotate

/path/to/logs/*.log {

daily

rotate 5

compress

delaycompress

missingok

notifempty

copytruncate

}

Управление технологическим журналом (ТЖ)

Технологический журнал сервера 1С отличается от обычного журнала регистрации тем, что он ведется на уровне процессов сервера (rmngr, rphost) и содержит техническую информацию о вызовах функций, блокировках и работе с СУБД. Включение ТЖ часто необходимо для диагностики проблем производительности, но его объем растет чрезвычайно быстро.

Настройка ТЖ производится в файле logcfg.xml, который должен находиться в каталоге конфигурации кластера серверов или в папке профиля пользователя, от имени которого запущен сервер. В этом файле XML-структурой определяются правила логирования: какие события писать, в какой файл и с каким уровнем детализации. Отсутствие файла или неверный синтаксис приведут к тому, что ТЖ не будет записываться вовсе.

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

  • 📂 Путь по умолчанию: часто это папка log в профиле пользователя службы 1С.
  • ⚙️ Формат имени: файлы обычно имеют вид 1Cv8_<PID>.log, где PID — идентификатор процесса.
  • 🛑 Отключение: чтобы остановить рост, достаточно удалить или переименовать файл logcfg.xml и перезапустить службу.

Рекомендуется не хранить файлы технологического журнала дольше нескольких дней, если они не используются для текущего расследования инцидента. Их основная ценность — оперативная диагностика, а не долгосрочное архивирование.

💡

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

Автоматизация очистки скриптами PowerShell и Bash

Для крупных инфраструктур ручная очистка неэффективна. Администраторам рекомендуется внедрить скрипты автоматической очистки, которые будут запускаться по расписанию через планировщик задач (Windows Task Scheduler) или cron (Linux). Скрипт должен проверять возраст файлов и их размер, удаляя только те, которые старше заданного порога.

В среде Windows PowerShell позволяет гибко работать с объектами файловой системы. Скрипт может находить файлы в папке логов, сортировать их по дате создания и удалять старые экземпляры, оставляя, например, последние 5 файлов или файлы за последние 3 дня. Важно добавить логирование работы самого скрипта, чтобы знать, какие файлы были удалены.

# Пример фрагмента скрипта PowerShell

$Limit = (Get-Date).AddDays(-3)

$Path = "C:\1CLogs"

Get-ChildItem -Path $Path -Filter *.lgd | Where-Object { $_.CreationTime -lt $Limit } | Remove-Item -Force

В Linux аналогичную задачу решает Bash-скрипт в связке с find. Команда может искать файлы старше 7 дней и удалять их. Крайне важно протестировать скрипт в безопасном окружении перед запуском в продуктивной среде, чтобы случайно не удалить актуальные данные из-за ошибки в пути или параметрах времени.

⚠️ Внимание: При настройке автоудаления всегда оставляйте запасной механизм оповещения (например, письмо администратору), если место на диске все равно заканчивается, несмотря на очистку.

Частые вопросы по очистке логов 1С

Можно ли удалять файлы логов без остановки службы 1С?

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

Где находится файл logcfg.xml по умолчанию?

Файл конфигурации технологического журнала обычно располагается в папке профиля пользователя, от имени которого запущена служба сервера 1С (например, usr1cv8), либо в каталоге конфигурации кластера серверов в зависимости от версии платформы и способа установки.

Почему после удаления файлов место на диске не освободилось?

Это происходит, если файл был удален, но процесс 1С все еще держит его открытым. Операционная система не освободит место до тех пор, пока процесс не закроет дескриптор файла. Решение: перезапустить службу сервера 1С.

Как узнать, какой процесс занимает файл лога?

В Linux используйте команду lsof | grep имя_файла, чтобы найти PID процесса. В Windows можно воспользоваться утилитой Process Explorer или Resource Monitor, найдя файл по имени в разделе Disk.

Нужно ли архивировать старые логи перед удалением?

Это зависит от требований вашей организации к безопасности и аудиту. Если законодательство или внутренние правила требуют хранения истории действий, логи следует сжимать (gzip/zip) и перемещать на отдельный сервер резервного копирования перед удалением с основного диска.