Восстановление общих папок Azure с помощью Azure CLI
Интерфейс командной строки Azure предоставляет возможности командной строки для управления ресурсами Azure. Это отличный инструмент для создания пользовательской автоматизации для использования ресурсов Azure. В этой статье объясняется, как восстановить всю общую папку или отдельные файлы из точки восстановления, созданной Azure Backup с помощью Azure CLI. Эти действия также можно выполнить с помощью Azure PowerShell или портала Azure.
В конце этой статьи вы узнаете, как выполнять следующие операции с Azure CLI.
- Просмотр точек восстановления для резервной копии общей папки Azure.
- Восстановление всей общей папки Azure.
- Восстановление отдельных файлов и папок.
Примечание.
Azure Backup теперь поддерживает восстановление нескольких файлов или папок в исходном или альтернативном расположении с помощью Azure CLI. Дополнительные сведения см. в разделе Восстановление нескольких файлов или папок в исходное или альтернативное расположение этого документа.
Необходимые компоненты
В этой статье предполагается, что у вас уже есть файловый ресурс Azure, для которого создана резервная копия Azure Backup. Если у вас ее нет, см. раздел Резервное копирование файловых ресурсов Azure с помощью интерфейса командной строки для настройки резервного копирования для общей папки. В этой статье вы используете следующие ресурсы.
Общая папка | Storage account | Область/регион | Сведения |
---|---|---|---|
azurefiles | afsaccount | EastUS | Резервное копирование исходного кода с помощью Azure Backup |
azurefiles1 | afaccount1 | EastUS | Источник назначения, используемый для восстановления альтернативного расположения |
Вы можете использовать ту же структуру для файловых ресурсов, чтобы испытать различные типы восстановлений, описанные в этой статье.
Подготовка среды к работе с Azure CLI
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
- Для работы с этим руководством требуется Azure CLI версии 2.0.18 или более поздней. Если вы используете Azure Cloud Shell, последняя версия уже установлена.
Получение точек восстановления для файлового ресурса Azure
Используйте командлет AZ Backup recoverypoint List, чтобы получить список всех точек восстановления для архивированного файлового ресурса.
В следующем примере извлекается список точек восстановления для общей папки azurefiles в учетной записи хранения afsaccount.
az backup recoverypoint list --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --backup-management-type azurestorage --item-name "AzureFileShare;azurefiles" --workload-type azurefileshare --out table
Вы также можете запустить предыдущий командлет, используя понятное имя для контейнера и элемента, предоставив следующие два дополнительных параметра:
- --backup-management-type: azurestorage
- --workload-type: azurefileshare
az backup recoverypoint list --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --backup-management-type azurestorage --item-name azurefiles --workload-type azurefileshare --out table
Результирующий набор — это список точек восстановления со сведениями о времени и согласованности для каждой точки восстановления.
Name Time Consistency
------------------ ------------------------- --------------------
932887541532871865 2020-01-05T07:08:23+00:00 FileSystemConsistent
932885927361238054 2020-01-05T07:08:10+00:00 FileSystemConsistent
932879614553967772 2020-01-04T21:33:04+00:00 FileSystemConsistent
Атрибут Name в выходных данных соответствует имени точки восстановления, которое можно использовать в качестве значения параметра --rp-name в операциях восстановления.
Полное восстановление общего ресурса с помощью Azure CLI
Параметр восстановления можно использовать для восстановления всего общего файлового ресурса в исходном или альтернативном расположении.
Определите следующие параметры для выполнения операций восстановления.
- --container-name: имя учетной записи хранения, в которой размещена резервная копия исходной общей папки. Чтобы получить имя или понятное имя контейнера, используйте команду az backup container list.
- --item-name: имя резервной копии исходной общей папки, которую вы хотите использовать для операции восстановления. Чтобы получить имя или понятное имя архивированного элемента, используйте команду az backup item list.
Восстановление полной общей папки в исходное расположение
При восстановлении в исходное расположение не нужно указывать параметры, связанные с целевым объектом. Нужно только указать ResolveConflict.
В следующем примере используется командлет az backup restore restore-azurefileshare с параметром Restore Mode, имеющим значение originallocation для восстановления общей папки azurefiles в исходном расположении. Вы используете точку восстановления 932883129628959823, полученную при получении точек восстановления для файлового ресурса Azure:
az backup restore restore-azurefileshare --vault-name azurefilesvault --resource-group azurefiles --rp-name 932887541532871865 --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --item-name "AzureFileShare;azurefiles" --restore-mode originallocation --resolve-conflict overwrite --out table
Name ResourceGroup
------------------------------------ ---------------
6a27cc23-9283-4310-9c27-dcfb81b7b4bb azurefiles
Атрибут Name в выходных данных соответствует имени задания, созданного службой резервного копирования для операции восстановления. Чтобы отслеживать состояние задания, используйте командлет az backup job show.
Восстановление полного общего ресурса в альтернативное расположение
Этот параметр можно использовать для восстановления общей папки в альтернативное расположение и сохранения исходного общего файлового ресурса как есть. Укажите следующие параметры для восстановления в альтернативном расположении:
- --target-storage-account: файловые ресурсы находятся в учетной записи хранения, в которую восстанавливается резервное содержимое. Целевая учетная запись хранения должна быть в том же расположении, что и хранилище.
- --target-file-share: файловые ресурсы находятся в целевой учетной записи хранения, в которую восстанавливается резервное содержимое.
- --target-folder: папка в файловом ресурсе, в которую восстанавливаются данные. Если содержимое резервной копии необходимо восстановить в корневую папку, укажите значения целевой папки в виде пустой строки.
- --resolve-conflict: инструкции в случае конфликта с восстановленными данными. Принимает перезаписать или пропустить.
В следующем примере используется az backup restore restore-azurefileshare с режимом восстановления alternatelocation для восстановления общей папки azurefiles в учетной записи хранения afsaccount в общую папку azurefiles1 в учетной записи хранения afaccount1.
az backup restore restore-azurefileshare --vault-name azurefilesvault --resource-group azurefiles --rp-name 932883129628959823 --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --item-name "AzureFileShare;azurefiles" --restore-mode alternatelocation --target-storage-account afaccount1 --target-file-share azurefiles1 --target-folder restoredata --resolve-conflict overwrite --out table
Name ResourceGroup
------------------------------------ ---------------
babeb61c-d73d-4b91-9830-b8bfa83c349a azurefiles
Атрибут Name в выходных данных соответствует имени задания, созданного службой резервного копирования для операции восстановления. Чтобы отслеживать состояние задания, используйте командлет az backup job show.
Восстановление на уровне элементов
Эту функцию восстановления можно использовать для восстановления отдельных файлов или папок в исходном или альтернативном расположении.
Определите следующие параметры для выполнения операций восстановления.
- --container-name: имя учетной записи хранения, в которой размещена резервная копия исходной общей папки. Чтобы получить имя или понятное имя контейнера, используйте команду az backup container list.
- --item-name: имя резервной копии исходной общей папки, которую вы хотите использовать для операции восстановления. Чтобы получить имя или понятное имя архивированного элемента, используйте команду az backup item list.
Укажите следующие параметры для элементов, которые требуется восстановить.
- SourceFilePath: абсолютный путь к файлу, который будет восстановлен в общей папке, в виде строки. Это тот же путь, который используется в командах CLI az storage file download или az storage file show.
- SourceFileType: выберите, выбран ли каталог или файл. Принимает папка или файл.
- ResolveConflict: инструкции в случае конфликта с восстановленными данными. Принимает перезаписать или пропустить.
Восстановление отдельных файлов или папок в исходное расположение
Используйте командлет az backup restore restore-azurefiles с параметром Restore Mode, имеющим значение originallocation, чтобы восстановить определенные файлы или папки в исходное расположение.
В следующем примере файл RestoreTest.txt восстанавливается в исходном расположении: файловом ресурсе azurefiles.
az backup restore restore-azurefiles --vault-name azurefilesvault --resource-group azurefiles --rp-name 932881556234035474 --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --item-name "AzureFileShare;azurefiles" --restore-mode originallocation --source-file-type file --source-file-path "Restore/RestoreTest.txt" --resolve-conflict overwrite --out table
Name ResourceGroup
------------------------------------ ---------------
df4d9024-0dcb-4edc-bf8c-0a3d18a25319 azurefiles
Атрибут Name в выходных данных соответствует имени задания, созданного службой резервного копирования для операции восстановления. Чтобы отслеживать состояние задания, используйте командлет az backup job show.
Восстановление отдельных файлов или папок в альтернативное расположение
Чтобы восстановить определенные файлы или папки в альтернативное расположение, используйте командлет az backup restore restore-azurefiles с параметром Restore Mode, имеющим значение alternatelocation, и укажите следующие параметры, связанные с целевым объектом.
- --target-storage-account: файловые ресурсы находятся в учетной записи хранения, в которую восстанавливается резервное содержимое. Целевая учетная запись хранения должна быть в том же расположении, что и хранилище.
- --target-file-share: файловые ресурсы находятся в целевой учетной записи хранения, в которую восстанавливается резервное содержимое.
- --target-folder: папка в файловом ресурсе, в которую восстанавливаются данные. Если содержимое резервной копии необходимо восстановить в корневую папку, укажите значения целевой папки в виде пустой строки.
В следующем примере выполняется восстановление файла RestoreTest.txt, первоначально присутствующего в общей папке azurefiles, в альтернативное расположение: папку restoredata в общей папке azurefiles1, размещенной в учетной записи хранения afaccount1.
az backup restore restore-azurefiles --vault-name azurefilesvault --resource-group azurefiles --rp-name 932881556234035474 --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --item-name "AzureFileShare;azurefiles" --restore-mode alternatelocation --target-storage-account afaccount1 --target-file-share azurefiles1 --target-folder restoredata --resolve-conflict overwrite --source-file-type file --source-file-path "Restore/RestoreTest.txt" --out table
Name ResourceGroup
------------------------------------ ---------------
df4d9024-0dcb-4edc-bf8c-0a3d18a25319 azurefiles
Атрибут Name в выходных данных соответствует имени задания, созданного службой резервного копирования для операции восстановления. Чтобы отслеживать состояние задания, используйте командлет az backup job show.
Восстановление нескольких файлов или папок в исходном или альтернативном расположении
Чтобы выполнить восстановление нескольких элементов, передайте значение параметра source-file-path в виде разделенных пробелами путей ко всем файлам или папкам, которые требуется восстановить.
В следующем примере выполняется восстановление файлов Restore.txt и AFS Report.docx в их исходном расположении.
az backup restore restore-azurefiles --vault-name azurefilesvault --resource-group azurefiles --rp-name 932889937058317910 --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --item-name "AzureFileShare;azurefiles" --restore-mode originallocation --source-file-type file --source-file-path "Restore Test.txt" "AFS Testing Report.docx" --resolve-conflict overwrite --out table
Результат будет выглядеть примерно так:
Name ResourceGroup
------------------------------------ ---------------
649b0c14-4a94-4945-995a-19e2aace0305 azurefiles
Атрибут Name в выходных данных соответствует имени задания, созданного службой резервного копирования для операции восстановления. Чтобы отслеживать состояние задания, используйте командлет az backup job show.
Если требуется восстановить несколько элементов в альтернативное расположение, используйте приведенную выше команду, указав параметры, связанные с целевым объектом, как описано в разделе Восстановление отдельных файлов или папок в альтернативное расположение.
Следующие шаги
Узнайте, как управлять резервными копиями файловых ресурсов Azure с помощью Azure CLI.