Comment pourrais-je aller sur la sauvegarde du journal des applications Windows à un intervalle régulier?

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

Question

Je travaille avec une application qui se connecte à Windows Application Log régulièrement (visible à travers l'outil d'administration Observateur d'événements), et je suis à la recherche d'un moyen de sauvegarder sur une base quotidienne. Ceci est important parce que nous découvrons parfois un problème avec l'application - et d'approfondir l'examen nous avons besoin d'informations qui a été connecté il y a une semaine. Les événements que nous recherchons ne sont pas nécessairement toujours là ... J'ai essayé d'augmenter la taille et tout ça, mais je pense qu'une sauvegarde automatisée faciliterait le processus. Nous ne serions pas se retrouver avec d'énormes bûches, mais plutôt, plusieurs journaux de taille modérée.

Je voudrais préfèrent une solution simple comme fichier de commandes + Planificateur de tâches Windows, mais serait également intéressé par d'autres approches.

Merci

Était-ce utile?

La solution

Voici un script WMI que j'ai trouvé il y a un certain temps. Cela pourrait être ce que vous cherchez!

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

Juste ce script set-up dans une tâche planifiée et vous êtes bon pour vous!

Autres conseils

Vous pouvez utiliser Windows Management Instrumentation (WMI) pour lire le journal des événements et faire tout ce que vous voulez avec le résultat. Voici un article que vous pourrez peut-être modifier à vos fins.

Sortie tous les événements du canal d'application, au format XML:

wevtutil.exe qe application

Pour la sortie de texte lisible, utilisez:

wevtutil.exe qe application /f:text

Vous pouvez facilement tuyau ou l'autre de ces sorties à un fichier périodiquement pour la sauvegarde.

Vous voudrez peut-être envisager la création d'un des outils pour suivre les événements de Windows à un serveur syslog. Ensuite, au lieu d'avoir à exécuter un processus qui fait la sauvegarde que vous obtiendrez toutes les entrées du journal transmis à un deuxième emplacement près en même temps, ils sont ajoutés au journal des événements Windows.

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

En fonction de ce que vous utilisez le serveur syslog vous pouvez les filtres de configuration d'ignorer certains événements ou les envoyer à différents fichiers. Vous pouvez rouler journal d'installation mais vous le souhaitez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top