Mit robocopy mehrere SourceFolders in ein Zielverzeichniss

Hier kann gesichert und wiederhergestellt werden.
Antworten
Coolzero
Foren-Mitglied
Beiträge: 575
Registriert: 11. Jun 2012, 19:24

Mit robocopy mehrere SourceFolders in ein Zielverzeichniss

Beitrag von Coolzero »

Hallo,
ich stehe irgendwie auf dem Schlauch und google bringt mich auch nicht weiter. Ich habe nach einem neuaufsetzen meines Servers auch die Datenstruktur geändert, so das es nur noch einen Daten Pool gibt, diesen komplett zu sichern ist ja kein Problem, jetzt würde ich daraus aber gerne einzelne Verzeichnisse nochmal extra Sichern als ZWEITE Sicherung.
ABer wie kann ich jetzt mehre SourceFolders angeben die alle in ein Zielverzeichniss gesichert werden sollen?
Die Source definition müsste ungefähr so aussehen:

Code: Alles auswählen

$SourceFolder = "D:\Bilder";"D:\Dokumente";D:\"Musik";"D:\iTunes";"D:\Sicherung_Handys";"D:\Spiele"
und das Ziel so:

Code: Alles auswählen

$DestinationFolder = "E:\Zweite_Sicherung_Wichtiger_Daten\"
Im Moment sieht das Skript so aus:

Code: Alles auswählen

######################################
#########Zweite_Sicherung_Wichtige_Daten#########
######################################
$SourceFolder = "D:\Bilder"
$DestinationFolder = "E:\Zweite_Sicherung_Wichtiger_Daten\"
$Logfile = "C:\Robocopy\Logs\Backup.log" + (Get-Date).tostring("yyyy-MM-dd") + "_Zweite_Sicherung_Wichtiger_Daten" + ".log"

###########################
#######Email Config########
$EmailFrom = "xxxb.de"
$EmailTo = "xxxoglemail.com"
$EmailBody = "Robocopy completed successfully. See attached log file for details"
$EmailSubject = "Zweite_Sicherung_Wichtiger_Daten"
$SMTPServer = "smtp.web.de"
$SMTPPort = "587"
$Username = "xxx"
$Password = "xxx"

############################################
####Robocopy Config OHNE Spiegelung (Mir)####
Robocopy $SourceFolder $DestinationFolder /xd "System Volume Information" $recycle.bin /xf pagefile.sys NTUSER.Dat /E /a-:sh /fft /LOG:$Logfile /NP /TEE

############################
#####Email Formatieren######
 $InFile = C:\Robocopy\Logs\Backup.log + (Get-Date).tostring("yyyy-MM-dd") + "_Zweite_Sicherung_Wichtiger_Daten" + ".log"
 $OutFile= C:\Robocopy\Logs\Backup.log + (Get-Date).tostring("yyyy-MM-dd") + "_Zweite_Sicherung_Wichtiger_Daten" + ".log"
 Remove-Item $OutFile -EA 0 


 $Lines = @()
 $count=0

 $Lines = Get-Content -path $InFile -readcount 0
 For($i=0; $i -lt $Lines.Count; $i+=1){
     If( $Lines[$i] -match "----------------"){
        $count =$count+1
    }
    if (($count -lt 3) -OR ($count -gt 3)) {
      $Line = $Lines[$i] -creplace "šbersprungen", "      Skip"
      $Line = $Line -creplace "Keine šbereinstimmung", "  No Match"
      "{0}" -f $Line
      Add-Content -Path $OutFile -Value $Line
    }
 }
 
# Send E-mail message with log file attachment
$Message = New-Object Net.Mail.MailMessage($EmailFrom, $EmailTo, $EmailSubject, $EmailBody)
$Attachment = New-Object Net.Mail.Attachment($OutFile, '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)
Danke für eure Hilfe
FritzBox6590 FRITZ!OS 7.02, Freetz
Laptop DEll Latitude i5, OpenSuse Leap 15.x, Win10 64
PC Intel Skylake 6700k,16GB, Geforce GTX 970, 512 GB SSD, OpenSuse Tumbleweed 64, Win 10 64
NAS WinServer 2016 64 Bit,4GB Ram, 20 TB
Backup Server WinServer 2019 64Bit, Intel Pentium G3420, 8GB RAM,20 TB Speicher
Reciver Vu+ Uno OpenATV6.0, VU+ Ultimo OpenATV 6.0, Wetek Play 2 CoreElec
Internet Kabel 150000
Antworten