powershell_kopierscripte/fileserver-hdds.ps1

65 lines
2.5 KiB
PowerShell

# Funktion: speichert den aktuellen PFad(vgl. pwd) in Get-ScriptDirectory
function Get-ScriptDirectory {
$Invocation = (Get-Variable MyInvocation -Scope 1).Value
Split-Path $Invocation.MyCommand.Path
}
# Funktion: setze Timestamp, mit Rückgabewert
function get-timestamp{
$timestamp = (get-date -Format yyyy_MM_dd__HH_mm_ss)
return $timestamp
}
# restliche Variablen
$timestamp = get-timestamp # Ruft Funktion get-timestamp auf
$scriptpfad = Get-ScriptDirectory # setzt $scriptpfad auf den Wert von Get-ScriptDirectory
# Hhostname
$hostname_ist = $env:computername
$hostname_soll = "irantu"
# Ziele/Quellen
$quelle1 ="\\fileserver2.grote.lan\mg"
$quelle2 ="\\fileserver2.grote.lan\Musik"
$quelle3 ="\\fileserver2.grote.lan\amd"
$quelle4 ="\\fileserver2.grote.lan\backup"
$quelle5 ="\\fileserver2.grote.lan\Videos\Filme - ueberragende"
$quelle6 ="\\fileserver2.grote.lan\Videos\Serien - überragende"
$quelle7 ="\\fileserver2.grote.lan\bilder"
$quelle8 ="\\fileserver2.grote.lan\proxmox"
$ziel1_name= "mg"
$ziel2_name= "musik"
$ziel3_name= "amd"
$ziel4_name= "backup"
$ziel5_name= "filme"
$ziel6_name= "serien"
$ziel7_name= "bilder"
$ziel8_name= "proxmox"
$ziel1="$scriptpfad\backup\mg"
$ziel2="$scriptpfad\backup\Musik"
$ziel3="$scriptpfad\backup\amd"
$ziel4="$scriptpfad\backup\backup"
$ziel5="$scriptpfad\backup\Videos\Filme - ueberragende"
$ziel6="$scriptpfad\backup\Videos\Serien - ueberragende"
$ziel7="$scriptpfad\backup\bilder"
$ziel8="$scriptpfad\backup\proxmox"
# Hostname prüfen
if ($hostname_ist -eq $hostname_soll)
{
Write-Host "Host = $hostname_ist"
}
else
{
Write-Host "Falscher Host(SOLL: '$hostname_soll' IST:$hostname_ist)"
start-sleep 5
Exit 1
}
robocopy $quelle1 $ziel1 /MIR /R:3 /W:10 /DST /TEE /UNILOG+:"$scriptpfad\$timestamp-$quelle1_name.log" /XD "\\fileserver2.grote.lan\mg\Programme\Spiele - nicht gesichert"
robocopy $quelle2 $ziel2 /MIR /R:3 /W:10 /DST /TEE /UNILOG+:"$scriptpfad\$timestamp-$quelle2_name.log"
robocopy $quelle3 $ziel3 /MIR /R:3 /W:10 /DST /TEE /UNILOG+:"$scriptpfad\$timestamp-$quelle3_name.log"
robocopy $quelle4 $ziel4 /MIR /R:3 /W:10 /DST /TEE /UNILOG+:"$scriptpfad\$timestamp-$quelle4_name.log"
robocopy $quelle5 $ziel5 /MIR /R:3 /W:10 /DST /TEE /UNILOG+:"$scriptpfad\$timestamp-$quelle5_name.log"
robocopy $quelle6 $ziel6 /MIR /R:3 /W:10 /DST /TEE /UNILOG+:"$scriptpfad\$timestamp-$quelle6_name.log"
robocopy $quelle7 $ziel7 /MIR /R:3 /W:10 /DST /TEE /UNILOG+:"$scriptpfad\$timestamp-$quelle7_name.log"
robocopy $quelle8 $ziel8 /MIR /R:3 /W:10 /DST /TEE /UNILOG+:"$scriptpfad\$timestamp-$quelle8_name.log"