【问题标题】:How would I go about backing up the Windows Application Log at a regular interval?我将如何定期备份 Windows 应用程序日志?
【发布时间】:2010-09-27 08:47:24
【问题描述】:

我正在使用定期记录到 Windows 应用程序日志的应用程序(可通过事件查看器管理工具查看),并且我正在寻找一种方法来每天备份它。这很重要,因为我们有时会发现应用程序存在问题 - 为了进一步调查,我们需要一周前记录的信息。我们正在寻找的事件不一定仍然存在......我已经尝试增加大小和所有这些,但我认为自动备份会促进这个过程。我们最终不会得到巨大的日志,而是多个中等大小的日志。

我会更喜欢像批处理文件 + Windows 调度程序这样的简单解决方案,但也对其他方法感兴趣。

谢谢

【问题讨论】:

    标签: windows logging batch-file backup event-viewer


    【解决方案1】:

    这是我不久前找到的一个 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
    

    只需在计划任务中设置此脚本,您就可以开始了!

    【讨论】:

    • 看起来很有希望 - 有机会我会试一试,然后告诉你进展如何。
    【解决方案2】:

    您可以使用 Windows Management Instrumentation (WMI) 来读取事件日志并对结果执行任何您喜欢的操作。这是一个article,您可以根据自己的目的进行调整。

    【讨论】:

      【解决方案3】:

      将应用程序通道中的所有事件输出到 XML:

      wevtutil.exe qe application
      

      对于可读的文本输出,使用:

      wevtutil.exe qe application /f:text
      

      您可以轻松地将这些输出中的任何一个定期传输到文件以进行备份。

      【讨论】:

        【解决方案4】:

        您可能需要考虑设置一种工具来将 Windows 事件转发到系统日志服务器。然后,您无需运行执行备份的进程,您将几乎在将所有日志条目添加到 Windows 事件日志的同时将它们转发到第二个位置。

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

        根据您使用的系统日志服务器,您可以设置过滤器以忽略某些事件或将它们发送到不同的文件。您可以随意设置日志滚动。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-05-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-08-07
          • 1970-01-01
          相关资源
          最近更新 更多