groddjur42 0 Geschrieben 30. November 2016 Melden Teilen Geschrieben 30. November 2016 (bearbeitet) Hallo Forumsgemeinde,mein Exchange Server 2010 (Windows 2008 R2) hat drei Laufwerke (C System, D Mailbox Datenbank, E Logfiles). Ich sichere täglich per wbadmin auf ein Netzlaufwerk mit folgendem Befehl: wbadmin start backup -quiet -user:XYZ -password:*** -allCritical -vssFull -include:d: -backupTarget:\\backup\ServerImage Problem: Nach einer Sicherung werden die Log-Files nicht gelöscht.Die Log-Files liegen zwar auf Laufwerk E:, aber sollte das nicht mit "-vssFull" nach erfolgreicher Sicherung gelöscht werden?Bitte um hilfreiche Informationen Hinweis: Dieser Post ist inhaltlich auch auf anderen Foren eingetragen. Eine gefundene Lösung wird in allen Posts nachgetragen http://www.msxforum.de/community/index.php/Thread/15711-Sicherung-l%C3%B6scht-die-Log-Files-nicht/ http://www.mcseboard.de/topic/209023-backup-mit-wbadmin-l%C3%B6scht-log-files-nicht/ https://social.technet.microsoft.com/Forums/de-DE/8ec27aa9-0d8c-4ec0-8c91-d176c25408e0/wbadmin-backup-lscht-keine-logfiles-von-exchange?forum=exchange_serverde bearbeitet 30. November 2016 von groddjur42 Zitieren Link zu diesem Kommentar
testperson 1.680 Geschrieben 30. November 2016 Melden Teilen Geschrieben 30. November 2016 Hi, schließe mal Laufwerk E: mit in die Sicherung ein. Gruß Jan Zitieren Link zu diesem Kommentar
groddjur42 0 Geschrieben 30. November 2016 Autor Melden Teilen Geschrieben 30. November 2016 (bearbeitet) Sicherung läuft grad, bin gespannt ob es klappt Update 1: Backup meldet dass es eine Konsistenzprüfung von Exchange ausführt, das ist definitiv neu :-) bearbeitet 30. November 2016 von groddjur42 Zitieren Link zu diesem Kommentar
Nobbyaushb 1.471 Geschrieben 30. November 2016 Melden Teilen Geschrieben 30. November 2016 Bitte auf Crosspostings hinweisen, siehe hier bei mir: http://www.msxforum.de/community/index.php/Thread/15711-Sicherung-l%C3%B6scht-die-Log-Files-nicht/?postID=89129#post89130 Danke! Zitieren Link zu diesem Kommentar
PowerShellAdmin 169 Geschrieben 30. November 2016 Melden Teilen Geschrieben 30. November 2016 (bearbeitet) Unabhängig vom Problem, ich würde das Ganze via PowerShell lösen. Hier ein altes Beispiel und nicht das Schönste ;) Lief auf nem SBS2011 (Legt auf einem UNC Pfad Sicherungen an im Name des Wochentages und überschreibt diesen dann in der Folgewoche, wenn die Sicherung erfolgreich war). Um Laufwerke zu ergänzen einfach in Zeile 183 anpassen und bei 184 dann noch hinzufügen. #Variables $email_versender='ms-psrv01@domain.de' #'kunde-Exchange@domain.de' $email_empfaenger='watchdog@domain.biz'#,'info@domain.de' $email_smtpserver='IP' $smtp_port='587' $logpath='C:\Tools\ExchangeBackup\backup.log' #Backuppath networkdrive $backuppath='\\kunde-nas\backup\exchange\'+(Get-Date -format dddd) # catchs all errors trap { #sets the variables for the erroroutput $line=$_.InvocationInfo.Line $scriptname=$_.InvocationInfo.ScriptName $linenumber=$_.InvocationInfo.ScriptLineNumber $lineoffset=$_.InvocationInfo.OffsetInLine $message=$_.Exception.Message $time=timestamp $user=$env:USERDOMAIN+'\'+$env:USERNAME #creates the template $template=@' ##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.# <br> Scripterror in "{0}" <br> Scriptstart at {1} <br> Scriptend at {2} in line {3} column {4}. <br> Exception: <br> "{5}" <br> Commandline: <br> {6}<br> Run as:<br> {7}<br> ##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.# '@ #creates the errormessage $message=$template -f $scriptname,$start_time,$time,$linenumber,$lineoffset,$message,$line,$user #writes log $message.Replace('<br>','') >> $logpath #sends an email sendmail 1 $message # exit code (0 => success; 1 => error) exit 1 } #Function timestamp Function timestamp { $now=get-Date $yr=$now.Year.ToString() $mo=$now.Month.ToString() $dy=$now.Day.ToString() $hr=$now.Hour.ToString() $mi=$now.Minute.ToString() $se=$now.Second.ToString() if ($mo.length -lt 2) { $mo="0"+$mo #pad single digit months with leading zero } if ($dy.length -lt 2) { $dy="0"+$dy #pad single digit day with leading zero } if ($hr.length -lt 2) { $hr="0"+$hr #pad single digit hour with leading zero } if ($mi.length -lt 2) { $mi="0"+$mi #pad single digit minute with leading zero } if ($se.length -lt 2) { $se="0"+$se #pad single digit minute with leading zero } write-output $yr$mo$dy" "$hr":"$mi":"$se } #set starttime $start_time=timestamp #email function function sendmail ( $error_flag, $error_message ) { if($error_flag -eq 1) { $email_titel='Error: Exchange Backup '+(timestamp) #error description $email_inhalt=$error_message } else { $email_titel='Success: Exchange Backup '+(timestamp) $email_inhalt=$error_message } #disbale cert check [System.Net.ServicePointManager]::ServerCertificateValidationCallback = { return $true } #create email object $SMTPMessage = New-Object System.Net.Mail.MailMessage($email_versender,$email_empfaenger,$email_titel,$email_inhalt) $SMTPClient = New-Object Net.Mail.SmtpClient($email_smtpserver, $smtp_port) $SMTPClient.EnableSsl = $true #send mail $SMTPClient.Send($SMTPMessage) } # Add Backup Snapin Add-PSSnapin Windows.Serverbackup -ErrorAction SilentlyContinue #set the tempname $tempbackupname='WindowsImageBackup_Temp' $tempbackuppath=$backuppath+'\'+$tempbackupname #checks state of the last backup - renaming if (((Get-WBSummary).LastBackupResultHR -eq 0) -and (Test-Path -path ($backuppath))) { #renaming to tempname Rename-Item -path ($backuppath+'\WindowsImageBackup') -newName $tempbackupname } #Main Backupscript # Create a backup job $profiles = New-WBPolicy #Adds Backup-Volumes $volC = Get-WBVolume -AllVolumes | Where {$_.MountPath -eq “C:”} #$volD = Get-WBVolume -AllVolumes | Where {$_.MountPath -eq “D:”} $Volumes = $volC #,$volD #Add volumes to the blank policy. Add-WBVolume -policy $profiles -volume $Volumes #Set Backuppath $target = New-WBBackupTarget -NetworkPath $backuppath #Add targets Add-WBBackupTarget -policy $profiles -target $target #Set for system state and for bare metal recovery Add-WBSystemState -policy $profiles Add-WBBareMetalRecovery -policy $profiles #Set VSSFull Set-WBVssBackupOptions -policy $profiles -VssFullBackup #Perform backup start-WBBackup -Policy $profiles -Debug $true #Check the return code - result if ((Get-WBSummary).LastBackupResultHR -eq 0) { #delete tempbackup if (Test-Path -path ($tempbackuppath)) { Remove-Item $tempbackuppath -recurse } #writes log '#SUCCESS: Exchange Backup'+(timestamp)>> $logpath #sends an email sendmail 0 'Exchange Backup executed successfully '+(timestamp) #exit code 0 = success exit 0 } else { '#ERROR: Exchange Backup'+(timestamp)+'Error: '+((get-wbjob -previous 1 |select ErrorDescription).errordescription)>> $logpath #Errorhandling #send an email with error-details sendmail 1 ((get-wbjob -previous 1 |select ErrorDescription).errordescription+' '+(timestamp)) #exit code 1 = error exit 1 } bearbeitet 30. November 2016 von PowerShellAdmin Zitieren Link zu diesem Kommentar
Beste Lösung groddjur42 0 Geschrieben 30. November 2016 Autor Beste Lösung Melden Teilen Geschrieben 30. November 2016 Problem gelöst ! (Dank an testperson) Offenbar muss in der Sicherung auch das Laufwerk mit den Logs inkludiert werden. Hierdurch wird offenbar eine Konsistenzprüfung der DB ausgeführt (war vorher bei mir nicht der Fall) und - sofern erfolgreich - danach alle Logs gelöscht. Der für mich korrekte Befehl lautet also: wbadmin start backup -quiet -user:XYZ -password:*** -allCritical -vssFull "-include:d:,e:" -backupTarget:\\backup\ServerImage (wichtig die "" um das include, sonst gibts nen Fehler) Zitieren Link zu diesem Kommentar
NorbertFe 2.035 Geschrieben 30. November 2016 Melden Teilen Geschrieben 30. November 2016 Ist ja auch irgendwie logisch, dass er die Logfiles erst löscht, nachdem sie gesichert wurden, oder? ;) Zitieren Link zu diesem Kommentar
groddjur42 0 Geschrieben 30. November 2016 Autor Melden Teilen Geschrieben 30. November 2016 Eigentlich schon, nur war meine Denkweise "DB ist ok, wenn Backup dann auch ok können die Logs ja gelöscht werden OHNE dass sie extra mitgesichert werden (steht ja alles korrekt in der DB drin)" :D Zitieren Link zu diesem Kommentar
Nobbyaushb 1.471 Geschrieben 30. November 2016 Melden Teilen Geschrieben 30. November 2016 (bearbeitet) Eigentlich schon, nur war meine Denkweise "DB ist ok, wenn Backup dann auch ok können die Logs ja gelöscht werden OHNE dass sie extra mitgesichert werden (steht ja alles korrekt in der DB drin)" :D Falsch. Exchange merkt, das der Server Online gesichert wird und prüft, ob die Logs auch wirklich sauber in die DB geschrieben wurden, und "erlaubt" dann der DaSi, diese Dateien zu löschen. Btw: auf ein Share zu sichern ist nicht gut, da du nicht auf ältere Backups zurückgreifen kannst. Da ich von einer VM ausgehe, würde ich (bei schmalem Geldbeutel..) einfach eine weitere vhdx mit fester Größe einbinden und diese als Backup-Target verwenden. Das kannst du dann ja seperat, z.B. mit einem Task auf ein share, z.B. einem NAS in Sicherheit bringen. ;) Nachtrag - danke für die Rückmeldung hier und in den anderen Foren! bearbeitet 30. November 2016 von Nobbyaushb Zitieren Link zu diesem Kommentar
NorbertFe 2.035 Geschrieben 30. November 2016 Melden Teilen Geschrieben 30. November 2016 (bearbeitet) Eigentlich schon, nur war meine Denkweise "DB ist ok, wenn Backup dann auch ok können die Logs ja gelöscht werden OHNE dass sie extra mitgesichert werden (steht ja alles korrekt in der DB drin)" :D Die Logs werden gesichert und danach werden sie gelöscht, weil man sie für ein Recovery ja benötigen könnte. Das hat noch gar nichts mit dem Commit an die DB zu tun afair. Abgesehen davon, könntest du ja auch inkrementell sichern, dabei würden nur die Logs gesichert und gelöscht. :p bearbeitet 30. November 2016 von NorbertFe Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.