Veeam B und R 10 per Powershell steuern
Mahlzeit ihr Digitalfreunde,
ich hab da ein einfachen PC (i5, 8GB RAM, Server 2012 R2 aus SSD, 4x2TB als RAID am SAS, Tandberg LTO-5 am SAS), mit dem ich gelegentliche Backups auf Band mache. Das ist so Maschine Üb.
Frage 1:
Da das LTO-5 nur ein Einzellaufwerk ist und keine Library muss ich um Band-Sets anzulegen immer wieder umständlich
Neues Band einlegen
Inventory Drive (damit bemerkt wird, dass ein neues Band eingelegt ist)
Band über Properties Benennen (Name)
Band Invetory
Band in Backup-Set verschieben
Band auswerfen
nächstes Band wieder das gleiche......
Ich würde das gerne per Powershell machen, finde aber nicht so recht im Netz die Syntax dazu.
Ggf. hat da jemand mal irgendwo eine Powershell Anleitung für Veeam im Netz entdeckt in DEUTSCH!?!?!?
Frage 2:
Nett wäre auch, wenn man die fertig definierten Backup-Jobs per Powershell starten könnte. Auch dazu gibt es ja Möglichkeiten bei Veeam. Aber auch da wäre klare Syntax verständlich erklärt eine tolle Sache.
Danke im Voraus
Kreuzberger
ich hab da ein einfachen PC (i5, 8GB RAM, Server 2012 R2 aus SSD, 4x2TB als RAID am SAS, Tandberg LTO-5 am SAS), mit dem ich gelegentliche Backups auf Band mache. Das ist so Maschine Üb.
Frage 1:
Da das LTO-5 nur ein Einzellaufwerk ist und keine Library muss ich um Band-Sets anzulegen immer wieder umständlich
Neues Band einlegen
Inventory Drive (damit bemerkt wird, dass ein neues Band eingelegt ist)
Band über Properties Benennen (Name)
Band Invetory
Band in Backup-Set verschieben
Band auswerfen
nächstes Band wieder das gleiche......
Ich würde das gerne per Powershell machen, finde aber nicht so recht im Netz die Syntax dazu.
Ggf. hat da jemand mal irgendwo eine Powershell Anleitung für Veeam im Netz entdeckt in DEUTSCH!?!?!?
Frage 2:
Nett wäre auch, wenn man die fertig definierten Backup-Jobs per Powershell starten könnte. Auch dazu gibt es ja Möglichkeiten bei Veeam. Aber auch da wäre klare Syntax verständlich erklärt eine tolle Sache.
Danke im Voraus
Kreuzberger
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3152796843
Url: https://administrator.de/forum/veeam-b-und-r-10-per-powershell-steuern-3152796843.html
Ausgedruckt am: 31.03.2025 um 14:03 Uhr
2 Kommentare
Neuester Kommentar
Hab keins mehr. Hab die laten von der Overland aufgehoben. Eig. ist alles sehr einfach.
Ohne test würde ich raten! es steht ja auch alles bei Veeam auf der Seite. Damit kann man eig. problemlos arbeiten.
Eject
Erase/ Eject
Moven zu nach Beginn eines Backups, um zu erwingen das nur 1x Band "Free" ist. Ohne Barcrode so immer Band 1,2 / 3,4 etc. für DaSi behalten.
Park ist ein Pool, der keiner DaSi zugeordnet war. Nur freie Bänder werden automatosisch genommen.
Ohne test würde ich raten! es steht ja auch alles bei Veeam auf der Seite. Damit kann man eig. problemlos arbeiten.
Eject
Add-PSSnapin VeeamPSSnapin
$tape = Get-VBRTapeMedium -Name "Tape 7"
Eject-VBRTapeMedium -Medium $tape
Erase/ Eject
Add-PSSnapin VeeamPSSnapin
Function DelTape($tapename)
{
$tape = Get-VBRTapeMedium -Name $tapename
Erase-VBRTapeMedium -Medium $tape -Wait
Eject-VBRTapeMedium -Medium $tape
}
Moven zu nach Beginn eines Backups, um zu erwingen das nur 1x Band "Free" ist. Ohne Barcrode so immer Band 1,2 / 3,4 etc. für DaSi behalten.
Park ist ein Pool, der keiner DaSi zugeordnet war. Nur freie Bänder werden automatosisch genommen.
Add-PSSnapin VeeamPSSnapin
$day = (Get-Date).AddDays(0).DayOfWeek
$time = (Get-Date).AddHours(0).ToString('HH')
$dt = $day.ToString() + $time
#$time="05"
#$day="Saturday"
Function Global:MoveToPark() {
Get-VBRTapeMedium -MediaPool "Free" | Where-Object {$_.Name -like "Tape*"} | Foreach-Object {Get-VBRTapeMedium -Name $_.Name | Move-VBRTapeMedium -MediaPool "Park"}
Get-VBRTapeMedium -Name "Tape 2" | Move-VBRTapeMedium -MediaPool "Park"
Get-VBRTapeMedium -Name "Tape 4" | Move-VBRTapeMedium -MediaPool "Park"
Get-VBRTapeMedium -Name "Tape 6" | Move-VBRTapeMedium -MediaPool "Park"
Get-VBRTapeMedium -Name "Tape 8" | Move-VBRTapeMedium -MediaPool "Park"
}
if ($day -eq 'Monday' -or $day -eq 'Wednesday'-or $day -eq 'Friday' -and $time -eq '05') {
Get-VBRTapeMedium -Name "Tape 2" | Move-VBRTapeMedium -MediaPool "Free"
} elseif ($day -eq 'Monday' -or $day -eq 'Wednesday'-or $day -eq 'Friday' -and $time -eq '13') {
Get-VBRTapeMedium -Name "Tape 6" | Move-VBRTapeMedium -MediaPool "Free"
} elseif ($day -eq 'Tuesday' -or $day -eq 'Thursday'-or $day -eq 'Saturday' -and $time -eq '05') {
Get-VBRTapeMedium -Name "Tape 4" | Move-VBRTapeMedium -MediaPool "Free"
} elseif ($day -eq 'Tuesday' -or $day -eq 'Thursday'-or $day -eq 'Saturday' -and $time -eq '13') {
Get-VBRTapeMedium -Name "Tape 8" | Move-VBRTapeMedium -MediaPool "Free"
} elseif ($time -eq '04' -or $time -eq '12') {
MoveToPark
} else {
$day="None"
}
Teil 2: Leider nur für ZIP Job für die Free Edition. Da das andere über Schedule läuft!
Start-Sleep -Seconds 120
$VMlist = @( "VM01","VM02","VM03","VM04")
$rep = Get-VBRBackupRepository -Name "BackupRep01"
$AllVMs=Find-VBRViEntity | Where-Object {($_.Type -eq "VM") -and ($_.PowerState -eq "PoweredOn") -and ( $VMlist -contains $_.Name) } | Sort-Object Name
Foreach ($VM in $AllVMs) {
Start-VBRZip -BackupRepository $rep -Entity $VM -RunAsync -AutoDelete In2Weeks
}