Magic cookies очищення журналів реєстрації сервера 1с8

1. Автоматизована періодичне очищення розрослося журналу реєстрації на сервері зі збереженням видаляються частин на іншому диску.

Одного разу ми помітили, що на системному диску значно зменшився розмір вільного простору. Однією з причин цього була папка С: \ Program Files \ 1cv82 \ srvinfo \ reg_1541 \, в якій розрісся розмір файлів журналу реєстрації. Існує можливість очистити журнал реєстрації інтерактивно в Конфігураторі з меню "Адміністрування" -> "Налаштування журналу реєстрації". Але є можливість автоматизувати цей процес, запускаючи командний рядок наступного виду:

"[PathTo1Cv8Exe] \ 1cv8.exe" CONFIG [ConnectionString] / Out [PathToOperLog] / ReduceEventLogSize [ShrinkDate] -saveAs [BackUpedLog]

[ConnectionString] - рядок підключення до інформаційної бази. Оскільки мова йде про серверному варіанті, цей рядок буде мати вигляд "/ S [ServerName] \ [InfoBaseName] / N [UserName] / P [UserPassword]". Користувач повинен мати право адміністрування.

[PathToOperLog] - шлях до файлу, в якому будуть збережені повідомлення системи при виконанні цієї операції.

[ShrinkDate] - дата, за яку буде укорочений журнал реєстрації в форматі yyyy-mm-dd

[BackUpedLog] - шлях до файлу в форматі * .elf, до яких можна буде звернутися в разі потреби проводити розслідування давніх операцій з інформаційною базою.

Цю операцію можна виконувати тоді, коли в інформаційній базі не буде інших користувачів. Прогалини (і їх відсутність) проставлені відповідно до документації, звертайте на них увагу.

Наш системний адміністратор написав Power Shell скрипт (УВАГА: дані в ньому анонімізувати, для використання потрібно актуалізація стосовно конкретної ситуації):

#
# backup shrink 1c logs
#

param (
[String] $ 1cexe = "C: \ Program Files (x86) \ 1cv82 \ 8.2.15.319 \ bin \ 1cv8.exe",
[String] $ 1cbase = "srvrname \ ibname",
[String] $ 1cuser = "username",
[String] $ 1cupassword = "password",
[String] $ 1coperlog = "s: \ logs \ 1cshrink.txt",
[String] $ 1cdaysoflogstore = 7, # [дата по яку видалити логи] (get-date) .Date.AddDays (- $ 1cdaysoflogstore) .ToString ( "yyyyMMdd")
[String] $ 1clogsarchive = "s: \ backup \ 6months", # [шлях до що зберігається в іншому місці файлу логів * .elf]
[String] $ 1clogfilename = $ env: COMPUTERNAME.ToLower () + "-1clog-" + ($ 1cbase.split ( "")) [1] + "-" + (get-date) .Date.ToString ( " yyyyMMdd ") +" .elf "
)

$ 1clog = $ 1clogsarchive + $ 1clogfilename

cmd / c "` "` "$ 1cexe`" CONFIG `/ s $ 1cbase` / N` "$ 1cuser`" `/ P`" $ 1cupassword` "` / Out $ 1coperlog `/ ReduceEventLogSize $ ((get-date ) .Date.AddDays (- $ 1cdaysoflogstore) .ToString ( "yyyy-MM-dd")) -saveAs` "$ 1clog`" `" "

2. Налагодження та очищення журналу реєстрації

Ми вже розглядали Журнал реєстрації, тепер подивимося як налаштувати даний журнал.

Для відкриття вікна, зайдемо в пункт меню "Адміністрування-Налаштування журналу реєстрації"

В принципі все зрозуміло. У групі Реєструвати в журналі подій вибираємо дані які будуть реєструватися. В поле Розділяти зберігання по періодах, вибирається період поділу журналу на файли.

Очищення журналу реєстрації

Так само, від сюди можна видалити застарілі дані реєстрації. Для цього є кнопка "Скоротити".

В поле Поточний діапазон подій. вказується діапазон часу за який є дані.

Видалити події до - тут вказуємо до якої дати можна видалити дані.

Видаляються дані можна зберегти, для цього встановимо властивість "Записати видаляються події в файл" і вкажемо папку в яку збережемо.

Якщо потрібно періодично скорочувати журнал і при цьому мати можливість переглядати вже віддалені події журналу, то встановіть прапорець "Зберігати поділ зберігання журналу за періодами і об'єднувати зі збереженим раніше журналом".