kreuzberger
Goto Top

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

Content-Key: 3152796843

Url: https://administrator.de/contentid/3152796843

Printed on: April 20, 2024 at 01:04 o'clock

Member: Crusher79
Crusher79 Jun 23, 2022 updated at 09:34:41 (UTC)
Goto Top
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
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"  
    }
Member: Crusher79
Crusher79 Jun 23, 2022 at 09:41:59 (UTC)
Goto Top
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
 

    }