Found this useful. Had what seems to be a common problem, but not always obvious why your getting to problem - see this for more details.
# Location of spbrtoc.xml$spbrtoc = "E:\Backups\spbrtoc.xml"# Days of backup that will be remaining after backup cleanup.$days = 3# Import the Sharepoint backup report xml file[xml]$sp = gc $spbrtoc# Find the old backups in spbrtoc.xml$old = $sp.SPBackupRestoreHistory.SPHistoryObject |? { (([datetime]::ParseExact($_.SPStartTime, "MM/dd/yyyy HH:mm:ss", [System.Globalization.CultureInfo]::InvariantCulture)) -lt (get-date).adddays(-$days))}# get-date $_.SPStartTime) -lt (get-date) }#$old | ? {write-host}#write-host $old.SPBackupRestoreHistory.SPHistoryObject.SPStartTimeif ($old -eq $Null) { write-host "No reports of backups older than $days days found in spbrtoc.xml.`nspbrtoc.xml isn't changed and no files are removed.`n" ; break}# Delete the old backups from the Sharepoint backup report xml file$old | % { $sp.SPBackupRestoreHistory.RemoveChild($_) }# Delete the physical folders in which the old backups were located$old | % { Remove-Item $_.SPBackupDirectory -Recurse }# Save the new Sharepoint backup report xml file$sp.Save($spbrtoc)Write-host "Backup(s) entries older than $days days are removed from spbrtoc.xml and harddisc."
No comments:
Post a Comment