Как бы я мог регулярно создавать резервные копии журнала приложений Windows?

StackOverflow https://stackoverflow.com/questions/375066

Вопрос

Я работаю с приложением, которое регулярно регистрируется в журнале приложений Windows (доступно для просмотра с помощью средства администрирования Event Viewer), и я ищу способ создавать его резервные копии на ежедневной основе.Это важно, потому что иногда мы обнаруживаем проблему с приложением - и для дальнейшего расследования нам нужна информация, которая была зарегистрирована неделю назад.События , которые мы ищем , не обязательно все еще существуют ...Я пробовал увеличить размер и все такое, но я думаю, что автоматическое резервное копирование облегчило бы этот процесс.В итоге у нас получились бы не огромные бревна, а скорее несколько бревен среднего размера.

Я бы так и сделал предпочитаю простое решение, такое как пакетный файл + планировщик Windows, но также было бы интересно использовать другие подходы.

Спасибо

Это было полезно?

Решение

Вот скрипт WMI, который я нашел некоторое время назад.Это может быть то, что вы ищете!

dim strComputer = "." 'Define here the Remote IP Address or Computername
dim objWMIService
dim colLogFiles
dim objLogfile
dim errBackupLog

Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Backup)}!\\" &  strComputer & "\root\cimv2")

Call eventlogbackup("Application")
Call eventlogbackup("System")
Call eventlogbackup("Security")

Function eventlogbackup(logtype)

Set colLogFiles = objWMIService.ExecQuery ("SELECT * FROM Win32_NTEventLogFile WHERE LogFileName='" & logtype & "'")

For Each objLogfile in colLogFiles
 errBackupLog = objLogFile.BackupEventLog("\\server\eventlogs\" & strComputer & "\" &logtype & ".evt")
 If errBackupLog <> 0 Then
    Wscript.Echo "The " & logtype &" event log could not be backed up."
 Else
    objLogFile.ClearEventLog()
    Wscript.Echo "The " & logtype &" event log is backed up."
 End If
Next

End Function

Просто настройте этот скрипт в запланированной задаче, и все готово!

Другие советы

Вы можете использовать инструментарий управления Windows (WMI) для чтения журнала событий и делать с результатом все, что вам заблагорассудится.Вот один Статья которые вы, возможно, сможете подстроить под свои цели.

Вывод всех событий в канале приложения в формате XML:

wevtutil.exe qe application

Для вывода читаемого текста используйте:

wevtutil.exe qe application /f:text

Вы могли бы легко периодически передавать любой из этих выходных данных в файл для резервного копирования.

Возможно, вы захотите рассмотреть возможность настройки одного из инструментов для пересылки событий Windows на сервер системного журнала.Тогда вместо того, чтобы запускать процесс, выполняющий резервное копирование, вы получите все записи журнала, перенаправленные во второе местоположение почти одновременно с их добавлением в журнал событий Windows.

http://ntsyslog.sourceforge.net/ http://edoceo.com/creo/winlogd http://www.softpanorama.org/Logs/Syslog/syslog_for_windows.shtml

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top