Журнал регистрации 1С (ЖР) содержит информацию о том, какие события происходили в информационной базе в определенный момент времени или какие действия выполнял тот или иной пользователь.
Место хранения ЖР:
Вставляем в текстовый редактор и сохраняем в формате .bat.
Для конкретных баз за N дней за различные периоды:
Вставляем в текстовый редактор и сохраняем в формате .ps1. После помещаем в планировщик (например – запуск каждое утро).
- для клиент-серверного варианта – 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
)
)
Профессиональный ИТ-аутсорсинг: обслуживание инфраструктуры, проактивная поддержка, безопасность
Ваш штатный сисадмин не справляется? Экспертный аутсорсинг для AI, 1С и интернет-магазинов. Цена фиксирована, риски — нулевые. Узнайте стоимость
Сокращение \ резервирование
Старый формат ЖР. Если требуется хранить ЖР долгое время – резервируем на отдельный диск. Через Конфигуратор 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 дней за различные периоды
$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
Нужна помощь? Администрирование серверов 1С мы осуществляем в рамках услуги администрирование серверов. Или в рамках аренды сервера 1С.
