Backup
Задача резервного копирования - создаётся для сервера или для нескольких серверов. Для создания задачи требуется указать расписание: дни и время выполнения задачи, а также серверы для которых она будет выполняться. В каждой задаче резервного копирования хранятся точки восстановления сервера. Из точек восстановления можно восстановить сервер в состояние сохранённое в точке.
Объект «задача резервного копирования»
- class esu.Backup(*args, token: Optional[str] = None, **kwargs)[исходный код]
- Параметры:
id (str) – Идентификатор задачи резервного копирования
name (str) – Имя задачи резервного копирования
size (int) – Суммарный размер точек восстановления задачи резервного копирования (bytes)
vdc (object) – Объект ВЦОДа
esu.Vdc
retain_cycles (int) – Глубина хранения задачи резервного копирования
time (str) – Время выполнения задачи по расписанию в UTC
week_days (list) – Дни недели выполнения задачи по расписанию [1,2,3]
vms (list) – Список серверов для которых создана задача
Примечание
Поля
name
,vms
,retain_cycles
,week_days
,time
могут быть изменены для существующего объекта.- classmethod get_object(id, token=None)[исходный код]
Получить объект задачи резервного копирования по ее ID
- Параметры:
id (str) – Идентификатор задачи резервного копирования
token (str) – Токен для доступа к API. Если не передан, будет использована переменная окружения ESU_API_TOKEN
- Результат:
Возвращает объект диска
esu.Disk
- Тип результата:
object
- create()[исходный код]
Создать объект
- Исключение:
ObjectAlreadyHasId – Если производится попытка создать объект, который уже существует
- save()[исходный код]
Сохранить изменения
- Исключение:
ObjectHasNoId – Если производится попытка сохранить несуществующий объект
- start_immediately()[исходный код]
Запустить выполнение задачи - создание точек восстановления
- get_restore_points()[исходный код]
Получить список точек восстановления в задаче резервного копирования.
- Результат:
Список объектов
esu.RestorePoint
- Тип результата:
list
- restore(restore_point, power_on=True, quick_restore=False)[исходный код]
Восстановить сервер из точки восстановления
- Параметры:
vm (object) –
esu.Vm
, сервер, который необходимо восстановитьrestore_point (object) –
esu.RestorePoint
, точка восстановления из которой необходимо восстановить серверpower_on (bool) – быть включен
quick_restore – (не рекомендуется)
- get_backup_log()[исходный код]
Получить лог создания точек восстановления из задачи
- Результат:
Отчёт создания точек восстановления
- Тип результата:
dict
- get_restore_log(vm)[исходный код]
Получить лог восстановления сервера из задачи
- Результат:
Отчёт восстановления сервера
- Тип результата:
dict
- destroy()[исходный код]
Удалить объект
- Исключение:
ObjectHasNoId – Когда производится попытка удалить несуществующий объект
Примеры использования
Создать задачу резервного копирования для сервера:
from esu import Vm, Backup, Vdc
vdc = Vdc.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745f9')
vm = Vm.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745f9')
backup = Backup(name="Test_Backup", vdc=vdc, vms=[vm], week_days=[1, 2],
time="09:00:00", retain_cycles=2)
Немедленно запустить выполнение задачи - создать точку восстановления:
import requests
from esu import Backup
backup = Backup.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745f9')
backup.start_immediately()
Восстановить сервер из точки восстановления:
from esu import Vm, Backup
backup = Backup.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745f9')
restore_point = backup.get_restore_points()[0] # Первая доступная точка восстановления
backup.restore(restore_point=restore_point)