none
Enviar arquivo de Log do NTBackup! RRS feed

  • Pergunta

  • Bom dia a todos,

         Pessoal, após pesquisas e ler todos os post , pude notar que tem bastantes informações referente ao NTBACKUP. Algumas chegando a quase 99% para as minhas necessidades, porem para completar o script precisaria enviar o conteúdo ou o arquivo de log propriamente dito para o e-mail. Algumas situações foram referenciadas, mas sem um exemplo. 
     
        Então eu cheguei a este  ponto onde preciso adicionar o conteúdo ou o arquivo da pasta: C:\Documents and Settings\jbrandao\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\BackupXX.log ao e-mail a ser enviado.

    Desde já agradeço a todos. E peso desculpas por reabri ese assunto!
    BrandaoJr.

    Script:

    strComputer = "."
    Set WshShell = WScript.CreateObject("WScript.Shell")
    Set objEmail = CreateObject("CDO.Message")

    'Inicia o backup

    Comando = "ntbackup backup systemstate /J ""Backup Job 1"" /L:f /F C:\backup.bkf"
    WshShell.Run(Comando),0,true

    wscript.echo comando

    '### Aguarda o Backup finalizar ###
    Repete = 0
    Do While Repete = 0
     strComputer = "."
     Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
     Set colProcesses = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = 'ntbackup.exe'")
     If colProcesses.Count = 0 Then
      Repete = 1
     Else
         WScript.Sleep 5000
     End If
    Loop

    '### Coleta informacoes do event viewer ###

    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set colLoggedEvents = objWMIService.ExecQuery _
            ("Select * from Win32_NTLogEvent Where Logfile = 'Application' and " _
                & "EventCode = '8019'")

    For Each objEvent in colLoggedEvents

        Body = "Computer Name: " & objEvent.ComputerName & vbcrlf
        Body = Body & "Event Code: " & objEvent.EventCode & vbcrlf
        Body = Body & "Message: " & objEvent.Message & vbcrlf
        Body = Body & "Event Type: " & objEvent.Type & vbcrlf
        Body = Body & "User: " & objEvent.User

    Next

    wscript.echo body

    '### Envia o e-mail ###

    Set objEmail = CreateObject("CDO.Message")

    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "srvCln2X.xxxxxxxxxxxxxx.com"
    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

    objEmail.From = "NTBACKUP"
    objEmail.Subject = "Log NtBackup"
    objEmail.To = "jorge.brandao@heringer.com.br"
    objEmail.Textbody = Body
    objEmail.Configuration.Fields.Update
    objEmail.Send
     


    SharePoint Professinal MCTS: WSS 3.0 Microsoft Profissional Cinco Estrelas: SharePoint Service 3.0 Microsoft TechNet Experience: Windows Server 2008 Microsoft TechNet Experience: Windows Vista www.canalsharepoint.com.br www.brandaonetwork.com.br
    sábado, 9 de maio de 2009 14:03

Respostas

  • Olá,

    Faça os testes no script abaixo:

    '### Inicio do Script ###
     strComputer = "."
     Set WshShell = WScript.CreateObject("WScript.Shell")
     Set objEmail = CreateObject("CDO.Message")

    'Inicia o backup
     Comando = "ntbackup backup systemstate /J ""Backup Job 1"" /L:f /F C:\backup.bkf"
     WshShell.Run(Comando),0,true

    ' wscript.echo comando

    '### Aguarda o Backup finalizar ###
     Repete = 0
     Do While Repete = 0
      strComputer = "."
      Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
     Set colProcesses = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = 'ntbackup.exe'")
     If colProcesses.Count = 0 Then
      Repete = 1
     Else
     WScript.Sleep 5000
     End If
     Loop

    '### Coleta informacoes do event viewer ###
     Set objWMIService = GetObject("winmgmts:" _
      & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

     Set colLoggedEvents = objWMIService.ExecQuery _
       ("Select * from Win32_NTLogEvent Where Logfile = 'Application' and " _
                & "EventCode = '8019'")

     For Each objEvent in colLoggedEvents

      Body = "Computer Name: " & objEvent.ComputerName & vbcrlf
      Body = Body & "Event Code: " & objEvent.EventCode & vbcrlf
      Body = Body & "Message: " & objEvent.Message & vbcrlf
      Body = Body & "Event Type: " & objEvent.Type & vbcrlf
      Body = Body & "User: " & objEvent.User
     Next

    '### Coleta Informações do Log do NTBKP ###
     set FSo = CreateObject("Scripting.FileSystemObject")

     'caminho da Pasta
     strPasta="C:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\"
     set folder = FSO.getFolder (strPasta)

     for each file in folder.files
       'aqui é O nome do arquivo
     nome = file.name

     Next


    '### Envia LOG Envet para o e-mail ###
     Set objEmail = CreateObject("CDO.Message")

     objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
     objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "xxxxxxxxxxxxxxxxxx.com"
     objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

     objEmail.From = "NTBACKUP"
     objEmail.Subject = "Log NtBackup"
     objEmail.To = "jorge.brandao@heringer.com.br"
     objEmail.Textbody = Body
     objEmail.AddAttachment strPasta & nome
     objEmail.Configuration.Fields.Update
     objEmail.Send


    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    quinta-feira, 14 de maio de 2009 19:21

Todas as Respostas

  • Boa tarde pessoal!

         Eu encontrei outros scripts que copia dados para um arquivo TXT! O que eu não sei é como juntas a este que ja esta funcionando:


        1 - Executa o comando de BKP.
        2 - Aguarda o BKP finalizar.
        3 - Colota informações do event viewer.
        4 - Envia informação do log de bkp para txt.
        5 - Envia e-mail
                 Envent viewer.
                 TXT com conteudo do log ntbackup

     
        Desde já agradeço a ajuda!

       
    SharePoint Professinal MCTS: WSS 3.0 Microsoft Profissional Cinco Estrelas: SharePoint Service 3.0 Microsoft TechNet Experience: Windows Server 2008 Microsoft TechNet Experience: Windows Vista www.canalsharepoint.com.br www.brandaonetwork.com.br
    quarta-feira, 13 de maio de 2009 16:36
  • Olá,

    Você pode enviar como anexo...

    Segue exemplo:

    set FSo = CreateObject("Scripting.FileSystemObject")

    'caminho da Pasta
    strPasta="C:\Documents and Settings\jbrandao\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\"
    set folder = FSO.getFolder (strPasta)

    for each file in folder.files
       'aqui é O nome do arquivo
       nome = file.name
    Next


    wscript.echo nome

    '### Envia o e-mail ###

    Set objEmail = CreateObject("CDO.Message")

    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing ") = 2
    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver ") = "srvCln2X.xxxxxxxxxxxxxx.com"
    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 25

    objEmail.From = "NTBACKUP"
    objEmail.Subject = "Log NtBackup"
    objEmail.To = "jorge.brandao@heringer.com.br "
    objEmail.AddAttachment strPasta & nome
    objEmail.Textbody = Body
    objEmail.Configuration.Fields.Update
    objEmail.Send


    Faça os testes e veja se é isso que você precisa.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    quarta-feira, 13 de maio de 2009 18:31
  • Olá,

    Você pode enviar como anexo...

    Segue exemplo:

    set FSo = CreateObject("Scripting.FileSystemObject")

    'caminho da Pasta
    strPasta="C:\Documents and Settings\jbrandao\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\"
    set folder = FSO.getFolder (strPasta)

    for each file in folder.files
       'aqui é O nome do arquivo
       nome = file.name
    Next


    wscript.echo nome

    '### Envia o e-mail ###

    Set objEmail = CreateObject("CDO.Message")

    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing ") = 2
    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver ") = "srvCln2X.xxxxxxxxxxxxxx.com"
    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 25

    objEmail.From = "NTBACKUP"
    objEmail.Subject = "Log NtBackup"
    objEmail.To = "jorge.brandao@heringer.com.br "
    objEmail.AddAttachment strPasta & nome
    objEmail.Textbody = Body
    objEmail.Configuration.Fields.Update
    objEmail.Send


    Faça os testes e veja se é isso que você precisa.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    Josiel , obrigado pela ajuda!

    Deu erro ao executar: expected 'next' depois da utima linha.

    SharePoint Professinal MCTS: WSS 3.0 Microsoft Profissional Cinco Estrelas: SharePoint Service 3.0 Microsoft TechNet Experience: Windows Server 2008 Microsoft TechNet Experience: Windows Vista www.canalsharepoint.com.br www.brandaonetwork.com.br
    quarta-feira, 13 de maio de 2009 18:54
  • Olá,

    Brandão, você testou com seu script completo, ou só essa parte que eu te passei...

    Testa só essa parte... depois se funcionar você adiciona ao seu script... acho que o erro não foi na parte que te passei não... Testei aqui e funcionou...


    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    quarta-feira, 13 de maio de 2009 19:51
  • Desculpa Josiel. É que entendo muito pouco de script, praticamente nada! O Problema agora está em juntar os dois. Cheguei a este modelo, porem está com erro de compilação logo após a ultima linha linha NEXT esperado!

       Desde já agradeço.


    '### Inicio do Script ###
     strComputer = "."
     Set WshShell = WScript.CreateObject("WScript.Shell")
     Set objEmail = CreateObject("CDO.Message")

    'Inicia o backup
     Comando = "ntbackup backup systemstate /J ""Backup Job 1"" /L:f /F C:\backup.bkf"
     WshShell.Run(Comando),0,true

     wscript.echo comando

    '### Aguarda o Backup finalizar ###
     Repete = 0
     Do While Repete = 0
      strComputer = "."
      Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
     Set colProcesses = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = 'ntbackup.exe'")
     If colProcesses.Count = 0 Then
      Repete = 1
     Else
     WScript.Sleep 5000
     End If
     Loop

    '### Coleta informacoes do event viewer ###
     Set objWMIService = GetObject("winmgmts:" _
      & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

     Set colLoggedEvents = objWMIService.ExecQuery _
       ("Select * from Win32_NTLogEvent Where Logfile = 'Application' and " _
                & "EventCode = '8019'")

     For Each objEvent in colLoggedEvents

      Body = "Computer Name: " & objEvent.ComputerName & vbcrlf
      Body = Body & "Event Code: " & objEvent.EventCode & vbcrlf
      Body = Body & "Message: " & objEvent.Message & vbcrlf
      Body = Body & "Event Type: " & objEvent.Type & vbcrlf
      Body = Body & "User: " & objEvent.User

    '### Coleta Informações do Log do NTBKP ###
     set FSo = CreateObject("Scripting.FileSystemObject")

     'caminho da Pasta
     strPasta="C:\Documents and Settings\jbrandao\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\"
     set folder = FSO.getFolder (strPasta)

     for each file in folder.files
       'aqui é O nome do arquivo
     nome = file.name
     wscript.echo nome

    '### Envia LOG Envet para o e-mail ###
     Set objEmail = CreateObject("CDO.Message")

     objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
     objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "xxxxxxxxxxxxxxxxxx.com"
     objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

     objEmail.From = "NTBACKUP"
     objEmail.Subject = "Log NtBackup"
     objEmail.To = "jorge.brandao@heringer.com.br"
     objEmail.Textbody = Body
     objEmail.AddAttachment strPasta & nome
     objEmail.Configuration.Fields.Update
     objEmail.Send


    SharePoint Professinal MCTS: WSS 3.0 Microsoft Profissional Cinco Estrelas: SharePoint Service 3.0 Microsoft TechNet Experience: Windows Server 2008 Microsoft TechNet Experience: Windows Vista www.canalsharepoint.com.br www.brandaonetwork.com.br
    quinta-feira, 14 de maio de 2009 17:30
  • Olá,

    Faça os testes no script abaixo:

    '### Inicio do Script ###
     strComputer = "."
     Set WshShell = WScript.CreateObject("WScript.Shell")
     Set objEmail = CreateObject("CDO.Message")

    'Inicia o backup
     Comando = "ntbackup backup systemstate /J ""Backup Job 1"" /L:f /F C:\backup.bkf"
     WshShell.Run(Comando),0,true

    ' wscript.echo comando

    '### Aguarda o Backup finalizar ###
     Repete = 0
     Do While Repete = 0
      strComputer = "."
      Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
     Set colProcesses = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = 'ntbackup.exe'")
     If colProcesses.Count = 0 Then
      Repete = 1
     Else
     WScript.Sleep 5000
     End If
     Loop

    '### Coleta informacoes do event viewer ###
     Set objWMIService = GetObject("winmgmts:" _
      & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

     Set colLoggedEvents = objWMIService.ExecQuery _
       ("Select * from Win32_NTLogEvent Where Logfile = 'Application' and " _
                & "EventCode = '8019'")

     For Each objEvent in colLoggedEvents

      Body = "Computer Name: " & objEvent.ComputerName & vbcrlf
      Body = Body & "Event Code: " & objEvent.EventCode & vbcrlf
      Body = Body & "Message: " & objEvent.Message & vbcrlf
      Body = Body & "Event Type: " & objEvent.Type & vbcrlf
      Body = Body & "User: " & objEvent.User
     Next

    '### Coleta Informações do Log do NTBKP ###
     set FSo = CreateObject("Scripting.FileSystemObject")

     'caminho da Pasta
     strPasta="C:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\"
     set folder = FSO.getFolder (strPasta)

     for each file in folder.files
       'aqui é O nome do arquivo
     nome = file.name

     Next


    '### Envia LOG Envet para o e-mail ###
     Set objEmail = CreateObject("CDO.Message")

     objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
     objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "xxxxxxxxxxxxxxxxxx.com"
     objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

     objEmail.From = "NTBACKUP"
     objEmail.Subject = "Log NtBackup"
     objEmail.To = "jorge.brandao@heringer.com.br"
     objEmail.Textbody = Body
     objEmail.AddAttachment strPasta & nome
     objEmail.Configuration.Fields.Update
     objEmail.Send


    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    quinta-feira, 14 de maio de 2009 19:21
  • Josiel,

       Seria demais, gravar o arquivo de Backup com data do dia e o mes?

       o restande está ok!

      desde já agradeço.

     ja retorno para classifícar.
    SharePoint Professinal MCTS: WSS 3.0 Microsoft Profissional Cinco Estrelas: SharePoint Service 3.0 Microsoft TechNet Experience: Windows Server 2008 Microsoft TechNet Experience: Windows Vista www.canalsharepoint.com.br www.brandaonetwork.com.br
    quarta-feira, 20 de maio de 2009 20:38