Журнал регистрации 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С.