Найти в Дзене

Сохранение бэкапов сервера VMware Horizon на FTP-сервер

По умолчанию сервер VMware Horizon осуществляет сохранение своей конфигурации в свою локальную папку (C:\ProgramData\VMware\VDM\backups), но что, если сервер умер окончательно. Нам нужно обезопаситься и создать клон конфигурации в другое место. Для начала нам нужно изменить папку сохранения конфигурации на самом сервере, поскольку стандартная папка для хранения бэкапов имеет ограниченнее по доступу. В админке VMware Horizon переходим в соответствующее окно параметров сервера (Servers - Connection Servers) и выбираем Edit на основном сервере. Указываем новый путь для сохранения бэкапов. Примечание: Бэкапы создаются каждый день в 12 часов дня, общее количество 10 штук. Для перемещения бэкапов на FTP-сервер создаем несложный скрипт (с именем, например backup.ps1), где указываем параметры для подключения к нашему ftp серверу. Он будет отсортировывать новые файлы и копировать их на сервер. $source = "c:\backup" $destination = "ftp://пользователь:пароль@адрес:21/путь" $webclient = New-Objec

По умолчанию сервер VMware Horizon осуществляет сохранение своей конфигурации в свою локальную папку (C:\ProgramData\VMware\VDM\backups), но что, если сервер умер окончательно. Нам нужно обезопаситься и создать клон конфигурации в другое место.

Для начала нам нужно изменить папку сохранения конфигурации на самом сервере, поскольку стандартная папка для хранения бэкапов имеет ограниченнее по доступу. В админке VMware Horizon переходим в соответствующее окно параметров сервера (Servers - Connection Servers) и выбираем Edit на основном сервере.

-2

Указываем новый путь для сохранения бэкапов.

-3

Примечание: Бэкапы создаются каждый день в 12 часов дня, общее количество 10 штук.

Для перемещения бэкапов на FTP-сервер создаем несложный скрипт (с именем, например backup.ps1), где указываем параметры для подключения к нашему ftp серверу. Он будет отсортировывать новые файлы и копировать их на сервер.

$source = "c:\backup"

$destination = "ftp://пользователь:пароль@адрес:21/путь"

$webclient = New-Object -TypeName System.Net.WebClient

$files = Get-ChildItem $source -Attributes !Directory *.LDF | Sort-Object -Descending -Property LastWriteTime | select -First 1

foreach ($file in $files)

{

Write-Host "Uploading $file"

$webclient.UploadFile("$destination/$file", $file.FullName)

}

$webclient.Dispose()

Для проверки запускаем скрипт через PowerShell из заданной папки

-4

Если результат как на картинке, то идем на FTP-сервер и проверяем что файл скопировался, для этого можно использовать программу WinSCP.

-5

Остается только сделать ежедневную задачу через планировщик задач Windows (Task Scheduler) на запуск нашего скрипта, описание можно найти в Интернете.

Дополнительно:

ППоскольку наш сервер создает 10 бэкапов, а старые удаляет, то для отчистки от старых файлов, нам тоже нужно обзавестись такой функцией для нашего FTP-сервера, с этим нам может помочь программа WinSCP.

Создаем bat файл, который так же можно активировать по времени через планировщик задач.

cd C:\Program Files (x86)\WinSCP

winscp.com /ini=nul /log=delete.log /command ^

"open ftp://пользователь:пароль@адрес:порт" ^

"rm /путь/*<10D" ^

"exit"