Автоматизированная периодическая очистка разросшегося журнала регистрации на сервере с сохранением удаляемых частей на другом диске.
Однажды мы заметили, что на системном диске значительно уменьшился размер свободного пространства. Одной из причин этого была папка С:\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`"`""
# 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`"`""
Источник: http://infostart.ru/public/161396/
Комментариев нет:
Отправить комментарий