Однажды мы заметили, что на системном диске значительно уменьшился размер свободного пространства. Одной из причин этого была папка С: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`»`»»





(0) Для тех кто не читает справку в 1С:
(1) KonstB, что-то не так в статье? скрипт, вроде, выполняет свои функции.
(2) Это я к тому, что у Вас ничего нового, все эти параметры есть в справке 1С 🙂
Скрипт, наверное, выполняет свои функции. Дело то не в скрипте, тут хоть батник создай.
Это точно так? на сколько я помню, если вы сокращаете НЕ по текущий период, то пользователи могут работать (так точно в 8.1 было). Т.е. если у Вас журнал разделен по Дням, то хоть по вчерашний день режь, когда пользователи работают.
(1) KonstB,
справку многие читают, но мне лично лень писать это — а тут готовый инструмент — почему бы не воспользоваться?
(3) KonstB,
интерактивно, в конфигураторе, система не позволяла это делать с пользователем в предприятии. но файлы не были порезаны по какому-то периоду. возможно, если их поделить помесячно, то за предыдущие месяцы файлы и удаляться. не проверял. но в душе на это надеялся 🙂
(4) w-divin, Вы наверное хотели сказать:
🙂
(5) что-то я не подумал, что журнал используют не разделяя по периоду 🙂
(6) KonstB, да в том-то и дело, что вроде бы всё заинсталили и оставили работать, а система мониторинга потом варнингами швыряется в админов.