Add 'all'

This commit is contained in:
zwnk 2018-11-15 14:22:03 +01:00
parent c0c490a8b7
commit 2e797647a2

53
all Normal file
View file

@ -0,0 +1,53 @@
#############################
#
# Backup Intranet
#
#############################
# Setting path for vboxmanage
$virtualBoxPath = "c:\Program Files\Oracle\VirtualBox"
# creating backup paths
$remoteBackupPath = "\\freenas\programas\VM_Backup\"
$backupDriveLetterMount = "L:"
$backupFilename = $backupDriveLetterMount + "\" + [string](Get-Date).Year + [string](Get-Date).Month + [string](Get-Date).Day + "_Intranet_Backup.ova"
# setting path var to VirtualBox folder
$Reg = "Registry::HKLM\System\CurrentControlSet\Control\Session Manager\Environment"
$regex = "[cC]\:\\Program Files\\Oracle\\VirtualBox"
$OldPath = (Get-ItemProperty -Path "$Reg" -Name PATH).Path
# check if PATH is already set
if ( -Not ($OldPath -match $regex)){
Write-host "`nSetting Path Variable to $AddedLocation"
Set-ItemProperty -Path "$Reg" -Name PATH -Value $virtualBoxPath
}
# mounting backup path
New-SmbMapping -LocalPath "$backupDriveLetterMount" -RemotePath "$remoteBackupPath"
# backing up vm
vboxmanage controlvm poweroff
vboxmanage export -oovf10 -o "$backupFilename"
# remove old Backups
$backupFileCount = ( Get-ChildItem -Filter *.ova $remoteBackupPath | Measure-Object ).Count
$limitDate = (get-date).AddDays(-12).ToString("yyyMMdd")
$backupPath = $backupDriveLetterMount + "\"
if ($backupFileCount -gt 3) {
Get-ChildItem $backupPath |
ForEach-Object {
# get actual
$lasWriteTime = (Get-Content $_.LastWriteTime).ToString("yyMMdd")
# delete backup files older than 12 days
if ($lasWriteTime -lt limitDate ) {
$fileNameFull = Get-Content $_.FullName
Remove-Item path $fileNameFull
}
}
}
# removing backup path
Remove-SmbMapping -RemotePath "$remoteBackupPath" -Force