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. Налагодження та очищення журналу реєстрації
Ми вже розглядали Журнал реєстрації, тепер подивимося як налаштувати даний журнал.
Для відкриття вікна, зайдемо в пункт меню "Адміністрування-Налаштування журналу реєстрації"
В принципі все зрозуміло. У групі Реєструвати в журналі подій вибираємо дані які будуть реєструватися. В поле Розділяти зберігання по періодах, вибирається період поділу журналу на файли.
Очищення журналу реєстрації
Так само, від сюди можна видалити застарілі дані реєстрації. Для цього є кнопка "Скоротити".
В поле Поточний діапазон подій. вказується діапазон часу за який є дані.
Видалити події до - тут вказуємо до якої дати можна видалити дані.
Видаляються дані можна зберегти, для цього встановимо властивість "Записати видаляються події в файл" і вкажемо папку в яку збережемо.
Якщо потрібно періодично скорочувати журнал і при цьому мати можливість переглядати вже віддалені події журналу, то встановіть прапорець "Зберігати поділ зберігання журналу за періодами і об'єднувати зі збереженим раніше журналом".