Usuário com melhor resposta
Enviar arquivo de Log do NTBackup!

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,truewscript.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.UserNext
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") = 25objEmail.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
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- Marcado como Resposta Fábio JrModerator quinta-feira, 19 de janeiro de 2012 00:23
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 -
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.From = "NTBACKUP"
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.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 -
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.From = "NTBACKUP"
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.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 -
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 -
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,truewscript.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") = 25objEmail.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 -
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- Marcado como Resposta Fábio JrModerator quinta-feira, 19 de janeiro de 2012 00:23
-
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