Автоматизация укорачивания журнала регистрации

Автоматизированная периодическая очистка разросшегося журнала регистрации на сервере с сохранением удаляемых частей на другом диске.

Однажды мы заметили, что на системном диске значительно уменьшился размер свободного пространства. Одной из причин этого была папка С:Program Files1cv82srvinfo
eg_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)1cv828.2.15.319in1cv8.exe»,
    [string]$1cbase = «srvrnameibname»,
    [string]$1cuser = «username»,
    [string]$1cupassword = «password»,
    [string]$1coperlog = «s:logs1cshrink.txt»,
    [string]$1cdaysoflogstore = 7, #[дата по которую удалить логи] (get-date).Date.AddDays(-$1cdaysoflogstore).ToString(«yyyyMMdd»)
    [string]$1clogsarchive = «s:ackup6months», #[путь к сохраняемому в другом месте файлу логов *.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`»`»»

 

7 Comments

  1. KonstB

    (0) Для тех кто не читает справку в 1С:

    Параметры командной строки 1С:Предприятие

    Reply
  2. Stamper

    (1) KonstB, что-то не так в статье? скрипт, вроде, выполняет свои функции.

    Reply
  3. KonstB

    (2) Это я к тому, что у Вас ничего нового, все эти параметры есть в справке 1С 🙂

    Скрипт, наверное, выполняет свои функции. Дело то не в скрипте, тут хоть батник создай.

    Эту операцию можно выполнять тогда, когда в информационной базе не будет других пользователей.

    Это точно так? на сколько я помню, если вы сокращаете НЕ по текущий период, то пользователи могут работать (так точно в 8.1 было). Т.е. если у Вас журнал разделен по Дням, то хоть по вчерашний день режь, когда пользователи работают.

    Reply
  4. w-divin

    (1) KonstB,

    справку многие читают, но мне лично лень писать это — а тут готовый инструмент — почему бы не воспользоваться?

    Reply
  5. Stamper

    (3) KonstB,

    на сколько я помню, если вы сокращаете НЕ по текущий период, то пользователи могут работать

    интерактивно, в конфигураторе, система не позволяла это делать с пользователем в предприятии. но файлы не были порезаны по какому-то периоду. возможно, если их поделить помесячно, то за предыдущие месяцы файлы и удаляться. не проверял. но в душе на это надеялся 🙂

    Reply
  6. KonstB

    (4) w-divin, Вы наверное хотели сказать:

    справку многие НЕ читают

    🙂

    (5) что-то я не подумал, что журнал используют не разделяя по периоду 🙂

    Reply
  7. Stamper

    (6) KonstB, да в том-то и дело, что вроде бы всё заинсталили и оставили работать, а система мониторинга потом варнингами швыряется в админов.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *