Veeam Backup and Replication 9.5 Free: Automate Backup with PowerShell

Ich sichere meinen Labor-Exchange-Server seit neustem mit Veeam Backup and Replication 9.5 Free, über ein PowerShell Script (von hier). Ich habe das Script ein wenig angepasst, da es im Original nicht funktionierte:

# PowerShell script to backup VMware or Hyper-V Environments using Veeam Backup and Replication
# The PowerShell extension for this is included by default in version 9.0

###### Modify these variables to fit your environment #####
$target = "SRV02" # vCenter, ESXi or Hyper-V IP Address
$account = "labor\svc_veeam" # Account with full permissions for $target and $dest
$VMs = "SRV93" # VM name, only one VM per VeeamZip in the free edition
$dest = "\\srv02\VeeamZIP\daily" # UNC path for backups 
$retention = "In2days" #Retention time: Never, Tonight, In2days, In2Weeks, In1Month
# Add -DisableQuiesce after the $vm variable in the Start-VBRZip command if you have issues
#############################################################

# Add the Veeam Backup and Replication Snap-in
Add-PSSnapin VeeamPSSnapin

# Disconnect from Veeam Backup and Replication server in case it is already connected
Disconnect-VBRServer

# Connect to the Veeam Backup and Replication server (localhost)
Connect-VBRServer

# Set server equal to the VMware or Hyper-V Server
#$server = Get-VBRServer -Name $target

# Get credentials we specified in Veeam GUI
$creds = Get-VBRCredentials -Name $account

# Entity which we are backing up, contains server and VM names
# Find-VBRViEntity (for VMware) or Find-VBRHvEntity (for Hyper-V)
$vm = Find-VBRHvEntity -Name $VMs -Server $target

# Encryption key added in Veeam GUI
$key = Get-VBREncryptionKey

# Start VeeamZip job
Start-VBRZip -Folder $dest -Entity $vm -RunAsync #-AutoDelete $retention -DisableQuiesce

# If you want to use a local path instead:
# Start-VBRZip -Folder "C:\Backup" -Entity $vm $vm -EncryptionKey $key -AutoDelete $retention -RunAsync

# Take a nap
Sleep 5

# Disconnect once job is submitted
Disconnect-VBRServer

Auf dem Verzeichnis „VeeamZIP“ muss dem Computer, auf welchem VEEAM läuft, via Freigabe und NTFS Zugriff erteilt werden!

Das Script wird dann via TaskScheduler ausgeführt.

Folgende Optionen sind gesetzt:

Veeam01

Aktion = Programm starten

Programm = C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

Argumente = -noninteractive -nologo C:\Scripts\VeeamBackupDaily.ps1

Was ich noch nicht implementiert habe, ist die automatische retention der Sicherungen. Theoretisch sollte das Veeam automatisch können. Allerdings funktionierte dies nicht auf Anhieb.

Advertisements

Autor: Martin Wildi

Ich arbeite bei IN4OUT AG (www.in4out.ch), als System Engineer. Beim täglichen First- und Second-Level Support erfahre und erarbeite ich einiges :).

4 Kommentare zu „Veeam Backup and Replication 9.5 Free: Automate Backup with PowerShell“

    1. Hallo Martin,

      kann man den Account für „full permissions for $target and $dest“ getrennt einbinden, so dass ich eine Möglichkeit habe, verschiedene Accounts einzusetzen, also einen separaten Account für $target and und einen für $dest?

      Vielen Dank für die Antwort.

      Viele Grüße,

      Ulrich

      Gefällt mir

      1. Hallo Ulrich

        Ich denke nicht, dass das geht. Die Credentials werden ja im GUI gesetzt. Somit wohl (mit diesem Script) nicht möglich.

        Eventuell könntest du vor dem Ausführen des Veeam-Scripts mit einem normalen „net use“ ein Netzlaufwerk verbinden, und dann darauf sichern.

        Grüsse
        Martin

        Gefällt 1 Person

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s