정기적으로 Windows 응용 프로그램 로그를 백업하는 방법은 무엇입니까?
-
22-08-2019 - |
문제
Windows 애플리케이션 로그에 정기적으로 로그인하는 응용 프로그램으로 작업하고 있으며 (이벤트 뷰어 관리 도구를 통해 볼 수 있음) 매일 백업 할 수있는 방법을 찾고 있습니다. 이것은 때때로 응용 프로그램의 문제를 발견하고 더 조사하기 위해서는 일주일 전에 기록 된 정보가 필요하기 때문에 중요합니다. 우리가 찾고있는 이벤트는 반드시 여전히 주위에 있지는 않습니다 ... 나는 크기와 그 모든 것을 늘리려고 노력했지만 자동화 된 백업이 프로세스를 용이하게 할 것이라고 생각합니다. 우리는 큰 통나무가 아니라 오히려 여러 가지 중간 크기의 로그로 끝납니다.
나는 할 것이다 선호하다 배치 파일 + 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
예정된 작업 으로이 스크립트를 설정하면 가면 좋습니다!
다른 팁
WMI (Windows Management Instrumentation)를 사용하여 이벤트 로그를 읽고 결과로 원하는대로 수행 할 수 있습니다. 여기에 있습니다 기사 당신이 당신의 목적을 조정할 수 있다는 것입니다.
응용 프로그램 채널의 모든 이벤트를 XML로 출력합니다.
wevtutil.exe qe application
읽을 수있는 텍스트 출력의 경우 사용하십시오.
wevtutil.exe qe application /f:text
백업을 위해 이러한 출력 중 하나를 주기적으로 파일에 쉽게 파이프 할 수 있습니다.
Windows 이벤트를 Syslog 서버로 전달하는 도구 중 하나를 설정하는 것을 고려할 수 있습니다. 그런 다음 백업을 수행하는 프로세스를 실행하는 대신 Windows 이벤트 로그에 추가되는 동시에 모든 로그 항목이 두 번째 위치로 전달됩니다.
http://ntsyslog.sourceforge.net/ http://edoceo.com/creo/winlogd http://www.softpanorama.org/logs/syslog/syslog_for_windows.shtml
사용하는 Syslog 서버에 따라 일부 이벤트를 무시하거나 다른 파일로 보낼 필터를 설정할 수 있습니다. 원하는대로 로그 롤링을 설정할 수 있습니다.