+7 495 230 03 03 8 800 222 50 03
DevOps

Настройка формата и оптимизация журнала регистрации 1С

Журнал регистрации 1С (ЖР) содержит информацию о том, какие события происходили в информационной базе в определенный момент времени или какие действия выполнял тот или иной пользователь. Место хранения ЖР:
  • для клиент-серверного варианта – C:\Program Files\1cv8\srvinfo\reg_\\1Cv8Log\ *где, – идентификатор базы Узнать для конкретной бд в файле – \srvinfo\reg_\1CV8Clst.lst
  • для файлового варианта – в папке 1Cv8Log в директории базы
Существует два формата ЖР:
  • Новый формат журнала регистрации (SQLite, *.lgd )
  • Старый журнала регистрации (Файлойловый лог, *lgf)

Изменения формата ЖР

Обязательно установите разделение ЖР по периодам, рекомендуется ставить день или неделя. Через Конфигуратор 1С: Администрирование -> Настройка журнала регистрации -> Изменить формат. Ручной: найдите в папке базы (…\srvinfo\reg_\) папку журнала регистрации (1Cv8Log), далее из папки 1Cv8Log удалить все файлы (или переместить, или переименовать папку), в папке 1Cv8Log создать пустой файл 1Cv8.lgf. Повторите эти шаги для каждой базы. Автоматизированный. При помощи скрипта:
@echo off
set SRV_INFO="C:\Program Files\1cv8\srvinfo"
set BACKUP_PATH=C:\Backup\
rem offset = length of guid string and "1Cv8Log" string
set OFFSET=45
SetLocal
SetLocal EnableDelayedExpansion
cd /d %SRV_INFO%
for /R %%i in (*.lgd) do (
  set FILE_PATH=%%~pi
  set DST_PATH=!FILE_PATH:~-%OFFSET%!
  @xcopy/hkryq "%%i" "%BACKUP_PATH%!DST_PATH!"
  if not errorlevel 1 (
    ren "%%i" tmp.delete 2>nul
    if not errorlevel 1 (    
      echo Creating old-format log
      copy nul "%%~dpi1Cv8.lgf"
    ) else (
      echo Cannot delete file: %%i
    )
    del "%%~dpitmp.delete" 2>nul
  )
)
Вставляем в текстовый редактор и сохраняем в формате .bat.

Сокращение \ резервирование

Старый формат ЖР. Если требуется хранить ЖР долгое время – резервируем на отдельный диск. Через Конфигуратор 1С: Администрирование -> Настройка журнала регистрации -> Сократить (выбираем директорию куда сохранять обрезанный ЖР). Новый формат ЖР. Особенности нового формата SQLite – в этом режиме настройка «Разделять хранение журнала по периодам» в Конфигураторе отсутствует. Остаётся кнопка «Сократить» для обрезки части журнала и переноса обрезаемых событий в указанный файл. После этого размер 1Cv8.lgd не уменьшается. Для очистки необходимо выполнить команду vacuum. Перед запуском команды обязательно сделайте резервную копию файла 1Cv8.lgd. Файл не должен быть занят. В файловом режиме — без активных сеансов, для клиент-серверного варианта — при остановленной службе Агента 1С. Для этих целей используется утилита sqlite3, которую можно скачать с официального сайта. Пример команды: C:\SQLite\sqlite3.exe C:\Base\TestIB\1Cv8Log\1Cv8.lgd vacuum

Удаление ЖР

Если конфигурация не поддерживает сокращения ЖР или он попросту не требуются или необходимо удалить до определенного периода. Powershell скрипт (старый формат ЖР, для всех баз за N дней):
##Удаление ЖР для всех баз за N дней
$JRbase = "C:\Program Files\1cv8\srvinfo\reg_1541\????????-????-????-????-????????????\1Cv8Log";
$curDay = Get-Date; 
$DaysJRsave = "-35"; 
$oldestDay = $curDay.AddDays($DaysJRsave);
Get-ChildItem -Path $JRbase -Recurse -Include *.lg* | Where-Object {$_.LastWriteTime -le $oldestDay} | Remove-Item
Для конкретных баз за N дней за различные периоды:
##Удаление ЖР для конкретных баз за N дней за различные периоды
$curDay = Get-Date; 
$DaysJRsave1 = "-35"; 
$DaysJRsave2 = "-65";
$oldestDay1 = $curDay.AddDays($DaysJRsave1);
$oldestDay2 = $curDay.AddDays($DaysJRsave2);

## base1
$JRbase1 = "C:\Program Files\1cv8\srvinfo\reg_1541\e5bc64e9-1e27-45c6-b6f5-4283f7f69684\1Cv8Log\";
Get-ChildItem -Path $JRbase1 -Recurse -Include *.lg* | Where-Object {$_.LastWriteTime -le $oldestDay1} | Remove-Item

## base2
$JRbase2 = "C:\Program Files\1cv8\srvinfo\reg_1541\31344dba-df79-4dd4-8b96-773e2413de04\1Cv8Log\";
Get-ChildItem -Path $JRbase2 -Recurse -Include *.lg* | Where-Object {$_.LastWriteTime -le $oldestDay2} | Remove-Item
Вставляем в текстовый редактор и сохраняем в формате .ps1. После помещаем в планировщик (например – запуск каждое утро).
Нужна помощь? Администрирование серверов 1С мы осуществляем в рамках услуги администрирование серверов. Или в рамках аренды сервера 1С.
Дата публикации: 29 июня 2023
Не нашли ответа на свой вопрос?

Смотрите также

Обсуждение материала

Содержание

Заказать звонок

Оставьте свои данные для того, чтобы специалист с вами связался.

*нажимая на кнопку, Вы даете согласие на обработку персональных данных
Быстрое внедрение включает:
На сервере установлено следующее ПО (доступно при подключении по протоколу RDP):
Также настроено:
Перед внедрением клиент предоставляет информацию о пользователях (логины и пароли). После завершения работ, клиенту высылается инструкция и ярлык для подключения.
Индивидуальное внедрение по ТЗ клиента обсуждается отдельно.