Artykuł w wersji pdf - Support Online Sp. z o. o.

Transkrypt

Artykuł w wersji pdf - Support Online Sp. z o. o.
Raportowanie wykonania kopii zapasowych
(DPM + PowerShell)
Do jednych z codziennych obowiązków administracyjnych należy przeglądanie statusów
wykonywania nocnych kopii zapasowych. Dla 90% ogółu społeczeństwa pierwszą czynnością
wykonywaną zaraz po uruchomieniu komputera w pracy jest uruchomienie klienta pocztowego i
sprawdzenie poczty. Dla ułatwienia i uniknięcia błędu ludzkiego (zapomnienia o sprawdzeniu), warto
zautomatyzować tą czynność. Raport wówczas przyjdzie rano pocztą elektroniczną, przed
rozpoczęciem pracy.
W artykule opisany został przykład wysyłania raportów wiadomością e-mail z wykorzystaniem
System.Net.Mail (http://msdn.microsoft.com/pl-pl/library/system.net.mail.aspx ) i oprogramowania
do wykonywania kopii bezpieczeństwa System Center - Data Protection Manager 2012
(http://www.microsoft.com/pl-pl/server-cloud/system-center/data-protection-manager.aspx )
Zawartość skryptu generującego plik z raportem oraz wysyłka wiadomości e-mail:
#Importowanie modułu MS DPM 2012
Import-Module DataProtectionManager
function GenerujRaport()
{
#Zawartość nagłówka html ze stylem CSS, żeby raport się ładniej
prezentował:)
$htmlhead=@'
<style>
body
{background-color:#FFFFFF; font-family: Calibri; font-size:
13px;}
table
{border-width: 1px;border-style: solid;border-color:
black;border-collapse: collapse;}
th
{border-width: 1px;padding: 2px;border-style: solid;border-color:
black; background-color:#E0E8F0;}
td
{border-width: 1px;padding: 2px;border-style: solid;border-color:
black; background-color:#FFFFFF;}
</style>
'@
#Generowanie pliku z raportem
$Data = Get-ProtectionGroup -DpmServerName NazwaSerwera | foreach
{Get-DPMJob $_ -Newest| Select-Object
StartTime,EndTime,Status,ProtectionGroupName,DataSources}
Strona 1 z 4
$Data | ConvertTo-Html -head $htmlhead | Out-File
C:\DPM_Reports\DPM_$(get-date -format d).html
}
function WyslijEmail()
{
#Nadawca wiadomosci
$Nadawca = "[email protected]"
#Odbiorca wiadomosci
$Odbiorca = "[email protected]"
#Adres serwera smtp
$Serwer = "serwer.firma.com"
#Temat wiadomości
$Temat = $env:computername+": DPM Backup – Raport z dnia "+(GetDate -Format d)
#Zawartość wiadomości z pliku wygenerowanego wczesniej
$Zawartosc = (Get-Content C:\DPM_Reports\DPM_$(Get-Date -format
d).Html)
#Dane do konta do wysyłki, ustawienia portów serwera, ssl itp.
$SMTPclient = new-object System.Net.Mail.SmtpClient $Serwer
$SMTPClient.port = 587
$SMTPclient.EnableSsl = $true
$SMTPAuthUsername = "nazwa_uzytkownika"
$SMTPAuthPassword = "haslo"
$SMTPClient.Credentials = New-Object
System.Net.NetworkCredential($SMTPAuthUsername, $SMTPAuthPassword)
$Wiadomosc = new-object System.Net.Mail.MailMessage $Nadawca,
$Odbiorca, $Temat, $Zawartosc
$Wiadomosc.IsBodyHtml = $true;
$SMTPclient.Send($Wiadomosc)
}
#Wywołanie funkcji GenerujRaport
GenerujRaport
#Wywołanie funkcji WyslijEmail
WyslijEmail
Uruchamianie skryptu:
1. Do uruchamiania skryptów powershell z plików należy zmienić ExecutionPolicy poleceniem:
Set-ExecutionPolicy –unrestricted
(http://technet.microsoft.com/pl-PL/library/dd347628.aspx)
2. Skrypt należy dodać do zaplanowanych zadań:
Strona 2 z 4
3. Należy utworzyć zadanie uruchamiane z najwyższymi uprawnieniami:
4. Dodanie akcji do zaplanowanego zadania
Należy uruchomić PowerShell z wykonaniem skryptu:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noninteractive -nologo
C:\Scripts\BackupCheck.ps1
Strona 3 z 4
Poniżej wygenerowany i wysłany raport:
StartTime
EndTime
Status
ProtectionGroupName
DataSources
2013-06-19
03:00:01
2013-06-19
03:26:10
Succeeded Linux - Virtual Server
\Backup Using Saved State\Linux
2013-06-19
00:00:01
2013-06-19
00:02:14
Succeeded FSSrv- Shared Folders
D:\
2013-06-16
01:00:01
2013-06-16
01:42:45
Succeeded SQLSrv - Virtual Server
\Backup Using Child Partition
Snapshot\SQLSrv
2013-06-19
00:30:00
2013-06-19
00:58:06
Succeeded DC1Srv - Virtual Server
\Backup Using Child Partition
Snapshot\DC1Srv
2013-06-17
09:02:45
2013-06-17
10:19:59
Succeeded ExchSrv - Virtual Server
\Backup Using Child Partition
Snapshot\ExchSrv
2013-06-19
05:00:00
2013-06-19
05:11:06
Succeeded
2013-06-19
01:30:01
2013-06-19
01:47:41
Succeeded DC2Srv - Virtual Server
2013-06-19
00:00:01
2013-06-19
00:00:25
Succeeded
ExchSrv - Exchange
Databases
SQLSrv - MS SQL 2012 +
C_Drive
Mailbox Database 2, Public Folders
Databese, Mailbox Database 1
\Backup Using Child Partition
Snapshot\DC2Srv
C:\
Raport zostanie również zarchiwizowany na dysku w lokalizacji C:\DPM_Reports\
Artykuł opracował: Bartek Kamiński,
Support Online Sp. z o.o. świadczy szeroki zakres usług IT dla
firm oraz instytucji: częściowa i kompleksowa obsługa
informatyczna, system kopii zapasowych plików SBBS,
telefonia VoIP, audyty informatyczne, helpdesk 24h.
Jeśli jesteście Państwo zainteresowani wsparciem w tym
zakresie lub innymi usługami informatycznymi – zapraszamy
do kontaktu.
Support Online Sp. z o.o.
tel. + 22 335 28 00
e-mail: [email protected]
www.support-online.pl
Źródła:
1. Opracowanie własne
2. http://msdn.microsoft.com/pl-pl/library/system.net.mail.aspx
3. http://technet.microsoft.com/en-us/library/hh881679%28v=sc.10%29.aspx
Strona 4 z 4