¿Cómo hago para hacer copias de seguridad del registro de aplicaciones de Windows en un intervalo regular?

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

Pregunta

Estoy trabajando con una aplicación que se conecta a Windows Registro de aplicación regularmente (visible a través de la herramienta administrativa Visor de sucesos), y estoy buscando la manera de copia de seguridad en una base diaria. Esto es importante porque a veces nos descubrimos un problema con la aplicación - y para investigar más a fondo que necesitamos información registrada hace una semana. Los acontecimientos que estamos buscando no necesariamente son todavía alrededor ... He intentado aumentar el tamaño y todo eso, pero creo que una copia de seguridad automática facilitaría el proceso. No acabaríamos con enormes troncos, sino más bien, varios registros de tamaño moderado.

Me prefieren una solución simple como archivo por lotes + Programador de Windows, sino que le interesen también otros enfoques.

Gracias

¿Fue útil?

Solución

Aquí es un script WMI que encontré hace un tiempo. Esto podría ser lo que estás buscando!

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

Sólo puesta a punto de este script en una tarea programada y ya está bueno para ir!

Otros consejos

Puede usar Windows (WMI) para leer el registro de eventos y hacer lo que quiera con el resultado. He aquí un artículo href="http://www.siccolo.com/Articles/CodeProject/LogWatcher_RSS_feed/build_log_watcher_rss_feed_using_WMI.html" rel="nofollow que usted puede ser capaz de ajustar a sus propósitos.

Salida todos los eventos en el canal de aplicación, a XML:

wevtutil.exe qe application

Para la salida de texto legible, utilice:

wevtutil.exe qe application /f:text

Desde aquí se puede tubería de cualquiera de estas salidas a un archivo periódicamente para copia de seguridad.

Es posible que desee considerar la creación de una de las herramientas para reenviar eventos de Windows a un servidor syslog. Entonces, en lugar de tener que ejecutar un proceso que hace la copia de seguridad obtendrá todas las entradas de registro reenviados a un segundo lugar casi al mismo momento de su incorporación al registro de eventos de Windows.

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

Dependiendo de qué servidor syslog que utiliza pueden configurar filtros para ignorar algunos eventos o enviarlos a diferentes archivos. Puede registro de instalación rodando como usted quiera.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top