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.

8 comments

    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

      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

    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

      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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

This site uses Akismet to reduce spam. Learn how your comment data is processed.