actually iam becoming desperate because i can't get anything to work for the things i want with reporting Backup Jobs.
So i'll briefly describe what i want to achieve.
I have Agent Backups, VMware Backups and Cloud Connect Backups. We don't have Veeam ONE. We have Backup jobs per customer. So 1 Backup Job equals to 1 customer.
I want to achieve the following:
An output / export etc. on a job base with the following data.
- All VM's in the Backup Job
- Original VM Size / System SIze
- Dedup Ratio per VM
- Compression Ratio per VM
- Written Backup Size per VM
I already built a script to share with the community to read out the created directory in which Veeam Backups are stored.
This is only for reporting the whole Backup Storage consumption and does not respect deduplication and compression. (run on a windows server which holds the Backup Repositories)
Code: Select all
#------------------------------------------------------------------------------#
# Script: FolderSize.ps1 #
# Author: falkob #
# Date: First created on 20.03.2017 15:51 #
# Keywords: Veeam Cloud Connect, Folder Size, Used Storage #
# #
# **COMMENTS ON THIS SCRIPT** #
# #
# #
#------------------------------------------------------------------------------#
$tabelle = @()
$LW = "D","E","F","G"
foreach ($i in $LW)
{
$folders = Get-ChildItem ($i + ":\VEEAMBACKUPS\")
foreach ($folder in $folders)
{
$size = [MATH]::Round(((Get-ChildItem ($i + ":\VEEAMBACKUPS\$($folder.name)") -Recurse | Measure-Object -Property Length -Sum -ErrorAction Stop).Sum / 1MB),0)
$sizegb = [MATH]::Round(((Get-ChildItem ($i + ":\VEEAMBACKUPS\$($folder.name)") -Recurse | Measure-Object -Property Length -Sum -ErrorAction Stop).Sum / 1GB),2)
$sizetb = [MATH]::Round(((Get-ChildItem ($i + ":\VEEAMBACKUPS\$($folder.name)") -Recurse | Measure-Object -Property Length -Sum -ErrorAction Stop).Sum / 1TB),3)
$array = New-Object PSCustomObject
$array | Add-Member -type NoteProperty -name Folder -Value $folder.name
$array | Add-Member -type NoteProperty -name MB -Value $size
$array | Add-Member -type NoteProperty -name GB -Value $sizegb
$array | Add-Member -type NoteProperty -name TB -Value $sizetb
$tabelle += $array
}
}
$tabelle
$tabelle | export-csv -Path C:\Veeam_Storage_Reports\Veeam_Storage_Report_$((Get-Date).ToString('dd-MM-yyyy-hh-mm-ss')).csv -Encoding UTF8 -NoTypeInformation
But i also need it per VM and this is where i need help.
I really like to get this with Powershell, because i can automate this.
Basically the "Backup Properties" window would fit perfect. But with splitted up values per VM.
If someone can help me to achieve this, i would really appreciate it !
Thanks and Best Regards !