Seite 1 von 1

Robocopy Log einschränken

Verfasst: 1. Mär 2016, 22:12
von Coolzero
Hallo,
ich nutze das folgende Skript für meine Datensicherung:

Code: Alles auswählen

#   **************************************************************

# Variables Backup
$SourceFolder = "D:\"
$DestinationFolder = "\\SERVER-BACKUP\Server-Backup\Sicherung_D"
$Logfile = "C:\Logs\Backup.log" + (Get-Date).tostring("yyyy-MM-dd") + "_Sicherung_D" + ".log"

# Variables Email notification
$EmailFrom = "xyc@web.de"
$EmailTo = "cxssa@googlemail.com"
$EmailBody = "Robocopy completed successfully. See attached log file for details"
$EmailSubject = "Robocopy Job Laufwerk D"
$SMTPServer = "smtp.web.de"
$SMTPPort = "587"
$Username = "xxx"
$Password = "defergregetget"

# Mirror Folder with Robocopy
Robocopy $SourceFolder $DestinationFolder /xd "System Volume Information" $recycle.bin /xf pagefile.sys NTUSER.Dat /MIR /a-:sh /fft /LOG:$Logfile /NP /NFL /NS /TEE
# Send E-mail message with log file attachment
$Message = New-Object Net.Mail.MailMessage($EmailFrom, $EmailTo, $EmailSubject, $EmailBody)
$Attachment = New-Object Net.Mail.Attachment($Logfile, 'text/plain')
$Message.Attachments.Add($Attachment)
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, $SMTPPort)
If (-not ($SMTPPort -eq "25")){
$SMTPClient.EnableSsl = $true;    
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
}
$SMTPClient.Send($Message)
Read-Host
# EOF
Da ich recht viel Daten auf einem Laufwerk habe, kommen schnell mal Log größen von 3-6 MB zusammen, was dann als Email Anhang auch in heutigen Zeiten noch viel ist, vorallem wenn ich diese auf dem Smartphone lesen will.

Mir würde ein Zusammenfassung reichen, wieviel Dateien kopiert, übersprungen etc. wurde und natürlich die Fehler.

Was müsste ich dafür machen?

Im Moment wird im Log alles gespeichert in dieser Form:

Code: Alles auswählen

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robustes Dateikopieren fr Windows                              
-------------------------------------------------------------------------------

  Gestartet: Tue Mar 01 21:48:19 2016

   Quelle : D:\
     Ziel : \\SERVER-BACKUP\Server-Backup\Sicherung_D\

    Dateien : *.*
	    
Ausfhrbare Dateien : pagefile.sys
	    NTUSER.Dat
	    
 Ausf. Verzeichnisse : System Volume Information
	    
  Optionen: *.* /FFT /NFL /TEE /S /E /COPY:DAT /PURGE /MIR /NP /A-:SH /R:1000000 /W:30 

------------------------------------------------------------------------------

	                   0	D:\
	                   0	D:\$RECYCLE.BIN\
	                  11	D:\$RECYCLE.BIN\S-1-5-21-3695200510-2163779555-86034144-1009\
	                   1	D:\$RECYCLE.BIN\S-1-5-21-3695200510-2163779555-86034144-1013\
	                   1	D:\$RECYCLE.BIN\S-1-5-21-3695200510-2163779555-86034144-500\
	                   0	D:\$RECYCLE.BIN\S-1-5-21-3695200510-2163779555-86034144-500\$RMJR4NY\
	                   0	D:\$RECYCLE.BIN\S-1-5-21-3695200510-2163779555-86034144-500\$RMJR4NY\Marvell\
	                   0	D:\$RECYCLE.BIN\S-1-5-21-3695200510-2163779555-86034144-500\$RMJR4NY\Marvell\Driver\
	                   0	D:\$RECYCLE.BIN\S-1-5-21-3695200510-2163779555-86034144-500\$RMJR4NY\Marvell\Driver\Disk\
	                   0	D:\Config.Msi\
	                   0	D:\ServerFolders\
	                   1	D:\ServerFolders\Bilder\
	                  62	D:\ServerFolders\Bilder\Bildschirmschoner\
	                   1	D:\ServerFolders\Bilder\Bildschirmschoner\.Thumbnails\
	                  20	D:\ServerFolders\Bilder\FritzCallFaces\
	                  13	D:\ServerFolders\Bilder\FritzCallFaces\.Thumbnails\
	                  ......
	                  .....
	                  ......
	                  	                   0	D:\ServerFolders\TV-Aufzeichnung\

------------------------------------------------------------------------------

           Insgesamt   KopiertšbersprungenKeine šbereinstimmung    FEHLER    Extras
Verzeich.:     24315         0     24315         0         0         0
  Dateien:    164321         0    164321         0         0         0
    Bytes:   1.532 t         0   1.532 t         0         0         0
   Zeiten:   0:09:01   0:00:00                       0:00:00   0:09:01

  Beendet: Tue Mar 01 21:57:20 2016

Re: Robocopy Log einschränken

Verfasst: 1. Mär 2016, 22:28
von Nobby1805
Bevor die Mail abgeschickt wird liest du den Log-File Zeile für Zeile und schreibst nur die Zeilen, die du als Mail haben willst in eine neue Log-Datei, die du dann per Mail schickst

Re: Robocopy Log einschränken

Verfasst: 2. Mär 2016, 06:00
von Coolzero
Vieleicht blode frage, und wie mache ich das? Mit in dem Skript oder brauch ich dafür ein extra Skript oder wie!?


Gesendet von iPhone mit Tapatalk

Re: Robocopy Log einschränken

Verfasst: 2. Mär 2016, 08:26
von Nobby1805
Wie du magst ... du kannst es direkt in das script einbauen oder du erstellst ein eigenes (wiederverwertbares) script dafür und rufst dieses im backup-script oder in den backup-scripten auf

... und ich meine, ich habe im Netz schon einige Beispiele gefunden wie man so eine "Textverarbeitung" macht

Edit: http://www.powershellpraxis.de/index.php/textdateien

Re: Robocopy Log einschränken

Verfasst: 2. Mär 2016, 18:58
von Coolzero
Hi,
leider ist das Programmieren/skripten nicht meine größte stärke, in deinem Link gibt es ja ein Beispiel zum einlesen der Textdatei, welches ich dann mal auf meine Log Datei abgeändert habe:

Code: Alles auswählen

Set-StrictMode -Version "2.0"
Clear-Host

$Path = "C:\Logs\Backup.log2016-03-01_Sicherung_D.log
$AllText = [IO.File]::ReadAllText($Path)
$Lines = $AllText.Split("`n")
"Number of Lines: {0}" -f $($Lines.Count)
Wenn ich dann das im powershell ise ausführe bekomme ich folgenden Fehler:

Code: Alles auswählen

PS C:\Windows\system32> C:\Robocopy\Test.ps1
Unerwartetes Token "`n")
"Number" im Ausdruck oder in der Anweisung.
Bei C:\Robocopy\Test.ps1:7 Zeichen:8
+ $Lines  <<<< = $AllText.Split("`n")
    + CategoryInfo          : ParserError: (`n")
"Number:String) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToken
Das heisst was?

Danke für deine Hilfe

Re: Robocopy Log einschränken

Verfasst: 2. Mär 2016, 22:43
von Nobby1805
Wieso hast du dir denn gerade dieses Beispiel ausgesucht ... das ermittelt doch "nur" wie viele Zeilen in der Datei sind ...

Der Fehler kommt vom fehlenden abschließenden " in der 4. Zeile (Zuweisung $Path)

Schau dir doch das Beispiel 1.2.2 an

PS wenn ich dir ganz konkret helfen soll dann brauche ich eine bessere "Spezifikation" was genau gemacht werden soll ... z.B. schick mir per PN einen Logfile und dann einen von Hand reduzierten Minilog

Re: Robocopy Log einschränken

Verfasst: 3. Jun 2017, 14:08
von Coolzero
Hi, hab nochmal ein robocopy Log Problem, denke mal das das irgendwie mit dem Unicode zu tun hat. Ich hab meinen WHS ausgemustert und einen WinServer2016 installiert. Wenn ich nun dort das Skript ausführe, klappt alles problemlos und die Mail wird versendet, wenn ich diese aber dann wie gewohnt auf meinem IPhone öffnen will, bekomme ich keine Daten angezeigt, hab mir dann mal einen anderen Texteditor aufs iPhone geladen und wenn ich ihn damit den log öffnen lasse kann ich die Kodierung auswählen, wenn ich dann "Unicode(UTF-8) auswähle bekomme ich auch nichts angezeigt, wenn ich aber. "ISO 8859-9" auswähle wird das Log korrekt dargestellt.

Was kann das sein?


Gesendet von iPhone mit Tapatalk

Re: Robocopy Log einschränken

Verfasst: 4. Jun 2017, 12:32
von OlafE
Moin,
robocopy ist fehlerhaft, zumindest in einigen Versionen, wenn es um die Anzeige deutscher Sonderzeichen oder um die Umstellung auf Unicode geht. Allerdings sind das meine Erfahrungen von älteren Serverversionen, beim Server 2016 habe ich das noch nicht weiter getestet, kann mir aber vorstellen, dass hier auch das eine oder andere Problem versteckt ist wie in deiner Fehlerbeschreibung.
Viele Grüße
Olaf

Re: Robocopy Log einschränken

Verfasst: 4. Jun 2017, 14:57
von Coolzero
Hallo, robocopy oder die powershell? Das versenden der E-Mail wird doch nicht von robocopy gesteuert oder?
Dann muss ich wohl damit leben und im Editor beim lesen des Log's umstellen auf ISO


Gesendet von iPhone mit Tapatalk

Re: Robocopy Log einschränken

Verfasst: 4. Jun 2017, 15:05
von larry
Schau dir mal die Robocopy Option "unilog" an.

Re: Robocopy Log einschränken

Verfasst: 6. Jun 2017, 06:22
von Coolzero
Hi,
die unilog Option bringt leider auch keine besserung, ich lasse mir den Log jetzt auf dem Handy automatisch als ISO anzeigen und dann passt es wieder.