participate
research
Hlavní stránka > počítače > Dataprotector a zasílání reportu na email

Dataprotector a zasílání reportu na email

24.11.2010rss (10,256 zobrazení) Komentuj Přejdi na komentáře

Vzhledem k tomu, že spravuji Dataprotector ve více lokalitách a musím denně vědět o chybách a zároveň se nechci vzdáleně na všechny lokality přihlašovat, udělal jsem pár scriptů a nastavení, které mi to vyřeší.


Stručný popis funkce:

  1. každý den v 10:00 vytvoření reportu Dataprotectorem
  2. každý den v 11:00 hledání VBSkem v txt reportu, pokud není nalezen text že je vše bez chyb, dojde k odeslání reportu na specifikované emaily
  3. každý den v 18:00 dojde k přepsání reportu (kdyby spadl DataProtector, nebude report přepisován, nebude nalezen text o proběhlých jobech a report nám bude zaslán s chybou)

Nejdříve je nutné si vytvořit adresářovou strukturu pro lokální ukládání reportů a uložení scriptů.

mkdir c:\scripts
mkdir c:\scripts\dp

Poté si v DP uděláme report, který následně nashedulujeme
DP-> Reporting -> Reports -> Add Report Group a přidat “Report to email” skupinu. V ní vytvořit “Add report”, vybrat “Reports on sessions in a timeframe”, název “Session Errors”, type Session Errors

Potom next, nastavit “Relative time” na 24h za poslednich 24h

Potom samé next až na obrazovku, kde je “Message level” a volbu na “Critical”

Next a nastavit, v jakým formátu a kam se to má ukládat

Stačí už jen danou skupinu jobů nashedulovat, a to 1x denně v 10h

Nyní můžeme mrknout na to, zda to funguje – pravé tlačítko na Skupinu a Start

V cestě C:\scripts\dp bude vygenerovaný soubor errors.txt, který buď bude obsahovat chyby nebo obsah souboru bude obsahovat text “No error messages”  – podle toho bude logika následujícího scriptu rozhodovat o tom, zda nám pošle email či nikoliv.

Vytvoříme VBS script na zasílání reportu v případě nalezených chyb, nazveme ho c:\scripts\check_and_send_errors.vbs. V souboru je nutne zamenit NUTNO_ZADAT_SMTP_SERVER a EMAIL@EMAIL.CZ (význam nebudu popisovat :D), který dáme do Win shedule každý den v 11:00

Option Explicit
Dim objFSO, objSouborPikodrak, strObsahSouboru, intKdeJeHlaska
Const FOR_READING = 1
Const strFileName = "C:\scripts\dp\errors.txt"
Set objFSO = CreateObject ("Scripting.FileSystemObject")
Set objSouborPikodrak = objFSO.OpenTextFile (strFileName,FOR_READING,0,-1)
strObsahSouboru = objSouborPikodrak.ReadAll
intKdeJeHlaska = InStr (strObsahSouboru,"No error messages")
If intKdeJeHlaska = 0 Then
'WScript.Echo "Nenasel jsem hlasku - No error Messages - na pozici " & intKdeJeHlaska
Dim objEmail, iAttachmenCount, aAttachment
Const sSMTPserver = "NUTNO_ZADAT_SMTP_SERVER"
Set objEmail = CreateObject("CDO.Message")
objEmail.To = "EMAIL@EMAIL.CZ, EMAIL2@EMAIL.CZ"
objEmail.ReplyTo = "EMAIL@EMAIL.CZ"
objEmail.Sender = "EMAIL@EMAIL.CZ"
objEmail.Subject = "ERROR BACKUP"
objEmail.Textbody = strObsahSouboru</code>
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = sSMTPserver
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update
objEmail.Send
End If
objSouborPikodrak.Close
Set objFSO = Nothing

Dále vytvoříme v C:\scripts\ soubor empty_dp_info_file.bat, který dáme do Win shedule každý den v 18:00


echo Soubor vyprazdnen > E:\scripts\dp\errors.txt

A to je vše přátelé, snad jsem na nic nezapomněl.

  1. No comments yet.
  1. No trackbacks yet.

IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)

What is 2 + 7 ?
Please leave these two fields as-is:

report
search
api