Domanda

Sto lavorando con un'applicazione che registra a Windows Registro applicazione regolarmente (visualizzabile tramite lo strumento amministrativo Visualizzatore eventi), e sto cercando un modo per eseguire il backup su base giornaliera. Questo è importante perché a volte ci scopriamo un problema con l'applicazione - e di indagare ulteriormente abbiamo bisogno di informazioni che è stato registrato una settimana fa. Gli eventi che stiamo cercando non sono necessariamente ancora in giro ... Ho provato ad aumentare la dimensione e tutto il resto, ma credo che un backup automatico faciliterebbe il processo. Non avremmo finire con enormi tronchi, ma piuttosto, più registri moderatamente dimensioni.

Vorrei preferire una soluzione semplice come file batch + di pianificazione di Windows, ma potrebbe anche essere interessati a altri approcci.

Grazie

È stato utile?

Soluzione

Ecco uno script WMI che ho trovato qualche tempo fa. Questo potrebbe essere quello che stai cercando!

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

Just set-up questo script in un'operazione pianificata e siete pronti per partire!

Altri suggerimenti

È possibile utilizzare Windows Management Instrumentation (WMI) per leggere il registro eventi e fare quello che ti piace con il risultato. Ecco un che si può essere in grado di ottimizzare i vostri scopi.

Output tutti gli eventi nel canale di applicazione, in XML:

wevtutil.exe qe application

Per l'uscita testo leggibile, uso:

wevtutil.exe qe application /f:text

Si potrebbe facilmente tubo di una di queste uscite ai periodicamente un file per il backup.

Si potrebbe prendere in considerazione la creazione di uno degli strumenti per inoltrare gli eventi di Windows a un server syslog. Poi invece di dover eseguire un processo che fa il backup si ottengono tutte le voci del registro inoltrati a una seconda posizione quasi nello stesso momento in cui vengono aggiunti al registro eventi di Windows.

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

A seconda di cosa syslog server si utilizzi possono filtri di impostazione di ignorare alcuni eventi o inviarli a file diversi. È possibile registro di installazione a rotazione come più vi piace.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top