Exchange Incremental afritun

Skrifaði þetta út frá annarri scriptu sem ég veit ekkert hver gerði. Hún sækir status á öllum mailbox-grunnum, fer í gegnum alla grunnana og sækir upplýsingar um nafn, LastIncrementalBackup og LastFullBackup.
Ástæðan fyrir því að bæði Full og Incremental backup eru skoðuð er sú að ef fullt afrit er tekið af grunnum þá er ekki tekið Incremental.

Ef það er lengra en 1 dagur síðan fullt afrit var tekið, þá eru sóttar upplýsingar um Incremental afrit, annars ekki.

Ef Incremental afrit er yngra en 27 klukkutíma gamalt þá er afritun sögð í lagi. (Afritun getur tekið einhvern tíma þannig að það er notast við 27 klukkutíma en ekki 24).

Það eru tveir Counter-ar; StatusOKCount og EnumCount. StatusOKCount telur hvað eru margari grunnar með afritun í lagi. EnumCount telur fjölda grunna. Ef fjöldi grunna þar sem afritun er í lagi er sá sami og heildarfjöldi grunna þá er öll afritun sögð í lagi.

$returnResult=0
$currentDate = Get-Date
$StatusOKCount=0
$EnumCount=0
$ProblemArray = New-Object System.Collections.ArrayList

$dbs = Get-MailboxDatabase -status

foreach ($db in $dbs) {

  $EnumCount++
  $lastFullBackup = $db.LastFullBackup
  $lastIncrementalBackup = $db.LastIncrementalBackup
  $Name = $db.Name
  $MountStatus = $db.Mounted

  if ($lastIncrementalBackup -ne $null) {

     $FullDiff = New-TimeSpan $lastFullBackup $currentDate
     $FullDiff = $FullDiff.Days

        if ($FullDiff -gt 1) {
          $IncrementalDiff = New-TimeSpan $lastIncrementalBackup $currentDate
          $IncrementalDiff = $IncrementalDiff.TotalHours
        }
  }
		if ($IncrementalDiff -lt 27) {
		$StatusOKCount++
		}
		elseif ($IncrementalDiff -gt 27) {
		$IncrementalDiff = "{0:N0}" -f $IncrementalDiff
		$ProblemArray.Add("Last incremental backup of database $Name is $IncrementalDiff hours old")
		}
}

	if ($StatusOKCount -lt $EnumCount) {
		$ProblemArray
		exit 1
	}
	elseif ($StatusOKCount -eq $EnumCount) {
		"Incremental backups exist for "+$EnumCount+" databases."
		exit 0
	}

{0:N0} er notað til að eyða öllu eftir kommu. Hægt að lesa meira um það hér: https://technet.microsoft.com/en-us/library/ee692795.aspx

This entry was posted in Exchange, PowerShell, Uncategorized and tagged , , . Bookmark the permalink.

Leave a comment