Archive: Posts Tagged ‘Backup’

Automatisiertes Backup mit der Windows Powershell

No comments März 26th, 2011

Nachdem mein USB-Stick Anfang Februar den Dienst verweigert hat und somit alle Daten, darunter meine Web- und Windows-Projekte, unzugänglich wurden habe ich mir Gedanken über ein automatisiertes Backup für meinen Stick gemacht. Da kam mir die Windows Powershell in den Sinn.

Das Backup-Script war mit 5 Zeilen Code schnell geshrieben:

Set-Location "I:\"
$NowDate = Get-Date -UFormat %Y\%m\%d.%m.%Y
$BackupPath = "E:\Backup\UsbStick\$NowDate\"
New-Item -Path $BackupPath -ItemType "Directory"
Get-Childitem "I:\" | ForEach-Object -Process { Copy-Item $_ -Destination $BackupPath -Recurse }

Zur Erklärung:

  1. Der aktuelle Arbeitsort wird auf das zu sichernde Wechselmedium gesetzt.
  2. Die Backups werden nach Jahren, Monaten und zuletzt Sicherungsdatum angelegt. Daher ist das Datum $NowDate im  Format JJJJ\MM\DD.MM.JJJJ nötig.
  3. Auf die Variable $BackupPath wird der Speicherort der Backups geschrieben, wobei zum Schluss das bereits für den Ordnerpfad formatierte Datum angehängt wird.
  4. Entsprechend dem Inhalt von $BackupPath wird ein neuer Ordner angelegt.
  5. Die Elemente des zu sichernden Sticks werden ausgelesen und an den Zielort $BackupPath kopiert, wobei durch das Anfügen von -Recurse an die Anweisung die Ordner rekursiv kopiert werden.

Nachdem dieser Code als *.ps1-Datei gespeichert wurde, kann nun die Zeitgesteuerte Ausführung über die Windows Aufgabenplanung eingerichtet werden.

In dieser wird eine neue Aufgabe erstellt; die Trigger müssen nach eigenen Vorlieben eingestellt werden.
Als Aktion gibt man powershell ein. Im Feld Argumente wird folgendes eingegeben:

-noprofile -command Pfad\Datei.ps1

Pfad und Datei müssen natürlich noch durch den Pfad zur Datei und den Dateinamen ersetzt werden.

Nun muss man sich nicht mehr um das Sichern seines USB-Sticks kümmern.