Administración de copias de seguridad de recursos compartidos de archivos de Azure con la CLI de Azure
La CLI de Azure es la forma de usar la línea de comandos para administrar los recursos de Azure. Es una herramienta excelente para personalizar la automatización del uso de los recursos de Azure. En este artículo se explica cómo realizar tareas para administrar y supervisar los recursos compartidos de archivos de Azure de los que se ha realizado una copia de seguridad mediante Azure Backup. También puede llevar a cabo estos pasos en Azure Portal.
Prerrequisitos
En este artículo se da por supuesto que ya tiene una copia de seguridad de un recurso compartido de archivos de Azure realizada por Azure Backup. Si no la tiene, consulte Copia de seguridad de recursos compartidos de archivos de Azure con la CLI para configurar la copia de seguridad para los recursos compartidos de archivos. En este artículo, se usarán los siguientes recursos:
- Grupo de recursos: azurefiles
- Almacén de Recovery Services: azurefilesvault
- Cuenta de almacenamiento: afsaccount
- Recurso compartido de archivos: azurefiles
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
- Este tutorial requiere la versión 2.0.18 de la CLI de Azure o cualquier versión posterior. Si usa Azure Cloud Shell, ya está instalada la versión más reciente.
Supervisión de trabajos
Al desencadenar operaciones de copia de seguridad o restauración, el servicio de copia de seguridad crea un trabajo para realizar un seguimiento. Para supervisar los trabajos completados o en ejecución, use el cmdlet az backup job list. Con la CLI, también puede suspender un trabajo que se esté ejecutando actualmente o esperar hasta que se complete un trabajo.
En el ejemplo siguiente se muestra el estado de los trabajos de copia de seguridad para el almacén de Recovery Services azurefilesvault:
az backup job list --resource-group azurefiles --vault-name azurefilesvault
[
{
"eTag": null,
"id": "/Subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupJobs/d477dfb6-b292-4f24-bb43-6b14e9d06ab5",
"location": null,
"name": "d477dfb6-b292-4f24-bb43-6b14e9d06ab5",
"properties": {
"actionsInfo": null,
"activityId": "3cef43ed-0af4-43e2-b9cb-1322c496ccb4",
"backupManagementType": "AzureStorage",
"duration": "0:00:29.718011",
"endTime": "2020-01-13T08:05:29.180606+00:00",
"entityFriendlyName": "azurefiles",
"errorDetails": null,
"extendedInfo": null,
"jobType": "AzureStorageJob",
"operation": "Backup",
"startTime": "2020-01-13T08:04:59.462595+00:00",
"status": "Completed",
"storageAccountName": "afsaccount",
"storageAccountVersion": "MicrosoftStorage"
},
"resourceGroup": "azurefiles",
"tags": null,
"type": "Microsoft.RecoveryServices/vaults/backupJobs"
},
{
"eTag": null,
"id": "/Subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupJobs/1b9399bf-c23c-4caa-933a-5fc2bf884519",
"location": null,
"name": "1b9399bf-c23c-4caa-933a-5fc2bf884519",
"properties": {
"actionsInfo": null,
"activityId": "2663449c-94f1-4735-aaf9-5bb991e7e00c",
"backupManagementType": "AzureStorage",
"duration": "0:00:28.145216",
"endTime": "2020-01-13T08:05:27.519826+00:00",
"entityFriendlyName": "azurefilesresource",
"errorDetails": null,
"extendedInfo": null,
"jobType": "AzureStorageJob",
"operation": "Backup",
"startTime": "2020-01-13T08:04:59.374610+00:00",
"status": "Completed",
"storageAccountName": "afsaccount",
"storageAccountVersion": "MicrosoftStorage"
},
"resourceGroup": "azurefiles",
"tags": null,
"type": "Microsoft.RecoveryServices/vaults/backupJobs"
}
]
Creación de directiva
Puede crear una directiva de copia de seguridad mediante la ejecución del comando az backup policy create con los parámetros siguientes:
- --backup-management-type – Azure Storage
- --workload-type - AzureFileShare
- --name: nombre de la directiva
- --policy: archivo JSON con la información adecuada para la programación y la retención
- --resource-group: grupo de recursos del almacén
- --vault-name: nombre del almacén
Ejemplo
az backup policy create --resource-group azurefiles --vault-name azurefilesvault --name schedule20 --backup-management-type AzureStorage --policy samplepolicy.json --workload-type AzureFileShare
JSON de ejemplo (samplepolicy.json)
{
"eTag": null,
"id": "/Subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupPolicies/schedule20",
"location": null,
"name": "schedule20",
"properties": {
"backupManagementType": "AzureStorage",
"protectedItemsCount": 0,
"retentionPolicy": {
"dailySchedule": {
"retentionDuration": {
"count": 30,
"durationType": "Days"
},
"retentionTimes": [
"2020-01-05T08:00:00+00:00"
]
},
"monthlySchedule": null,
"retentionPolicyType": "LongTermRetentionPolicy",
"weeklySchedule": null,
"yearlySchedule": null
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": null,
"scheduleRunFrequency": "Daily",
"scheduleRunTimes": [
"2020-01-05T08:00:00+00:00"
],
"scheduleWeeklyFrequency": 0
},
"timeZone": "UTC",
"workLoadType": “AzureFileShare”
},
"resourceGroup": "azurefiles",
"tags": null,
"type": "Microsoft.RecoveryServices/vaults/backupPolicies"
}
Ejemplo para crear una directiva de copia de seguridad que configure varias copias de seguridad al día
Este JSON de ejemplo es para los siguientes requisitos:
- Programación: copia de seguridad cada 4 horas a partir de las 8 a. m. (UTC) durante las 12 horas siguientes.
- Retención: diariamente, 5 días; semanal, todos los domingos durante 12 semanas; mensualmente, el primer domingo de cada mes durante 60 meses; anualmente, el primer domingo de enero durante 10 años.
{
"properties":{
"backupManagementType": "AzureStorage",
"workloadType": "AzureFileShare",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Hourly",
"hourlySchedule": {
"interval": 4,
"scheduleWindowStartTime": "2021-09-29T08:00:00.000Z",
"scheduleWindowDuration": 12
}
},
"timeZone": "UTC",
"retentionPolicy": {
"retentionPolicyType": "LongTermRetentionPolicy",
"dailySchedule": {
"retentionTimes": null,
"retentionDuration": {
"count": 5,
"durationType": "Days"
}
},
"weeklySchedule": {
"daysOfTheWeek": [
"Sunday"
],
"retentionTimes": null,
"retentionDuration": {
"count": 12,
"durationType": "Weeks"
}
},
"monthlySchedule": {
"retentionScheduleFormatType": "Weekly",
"retentionScheduleDaily": null,
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": null,
"retentionDuration": {
"count": 60,
"durationType": "Months"
}
},
"yearlySchedule": {
"retentionScheduleFormatType": "Weekly",
"monthsOfYear": [
"January"
],
"retentionScheduleDaily": null,
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": null,
"retentionDuration": {
"count": 10,
"durationType": "Years"
}
}
}
}
}
Una vez que la directiva se crea correctamente, la salida del comando mostrará el JSON de la directiva que pasó como parámetro al ejecutar el comando.
Puede modificar la sección de programación y retención de la directiva según sea necesario.
Ejemplo
Si desea conservar la copia de seguridad del primer domingo de cada mes durante dos meses, actualice la programación mensual como se indica a continuación:
"monthlySchedule": {
"retentionDuration": {
"count": 2,
"durationType": "Months"
},
"retentionScheduleDaily": null,
"retentionScheduleFormatType": "Weekly",
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2020-01-05T08:00:00+00:00"
]
}
Modificación de directivas
Puede modificar una directiva de copia de seguridad para cambiar la frecuencia de las copias de seguridad o la duración de retención mediante az backup item set-policy.
Para cambiar la directiva, defina los siguientes parámetros:
- --container-name: nombre de la cuenta de almacenamiento que contiene el recurso compartido de archivos. Para recuperar el nombre o nombre descriptivo del contenedor, use el comando az backup container list.
- --name: nombre del recurso compartido de archivos para el que desea cambiar la directiva. Para recuperar el nombre o nombre descriptivo del elemento de copia de seguridad, use el comando az backup item list.
- --policy-name: nombre de la directiva de copia de seguridad que desea establecer para el recurso compartido de archivos. Puede usar az backup policy list para ver todas las directivas del almacén.
En el ejemplo siguiente se establece la directiva de copia de seguridad schedule2 para el recurso compartido de archivos azurefiles presente en la cuenta de almacenamiento afsaccount.
az backup item set-policy --policy-name schedule2 --name azurefiles --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --name "AzureFileShare;azurefiles" --backup-management-type azurestorage --out table
También puede ejecutar el comando anterior con los nombres descriptivos del contenedor y el elemento proporcionando los dos parámetros adicionales siguientes:
- --backup-management-type: azurestorage
- --workload-type: azurefileshare
az backup item set-policy --policy-name schedule2 --name azurefiles --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --name azurefiles --backup-management-type azurestorage --out table
Name ResourceGroup
------------------------------------ ---------------
fec6f004-0e35-407f-9928-10a163f123e5 azurefiles
El atributo Name de la salida se corresponde con el nombre del trabajo creado por el servicio de copia de seguridad para la operación de cambio de directiva. Para realizar el seguimiento del estado del trabajo, use el cmdlet az backup job show.
Detención de la protección en un recurso compartido de archivos
Hay dos maneras de dejar de proteger recursos compartidos de archivos de Azure:
- Detener todos los trabajos futuros de copia de seguridad y eliminar todos los puntos de recuperación.
- Detener todos los trabajos futuros de copia de seguridad pero dejar los puntos de recuperación.
Puede que dejar los puntos de recuperación en el almacenamiento conlleve un costo asociado, dado que las instantáneas subyacentes creadas por Azure Backup se conservarán. La ventaja de dejarlos es que tiene la opción de restaurar el recurso compartido de archivos más adelante, si así lo desea. Para más información sobre el costo de dejar los puntos de recuperación, consulte la información sobre precios. Si opta por eliminar todos los puntos de recuperación, no podrá restaurar el recurso compartido de archivos.
Para detener la protección del recurso compartido de archivos, defina los parámetros siguientes:
- --container-name: nombre de la cuenta de almacenamiento que contiene el recurso compartido de archivos. Para recuperar el nombre o nombre descriptivo del contenedor, use el comando az backup container list.
- --item-name: nombre del recurso compartido de archivos para el que desea detener la protección. Para recuperar el nombre o nombre descriptivo del elemento de copia de seguridad, use el comando az backup item list.
Detención de la protección y conservación de los puntos de recuperación
Para detener la protección conservando los datos, use el cmdlet az backup protection disable.
En el ejemplo siguiente se detiene la protección del recurso compartido de archivos azurefiles, pero se conservan todos los puntos de recuperación.
az backup protection disable --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --item-name “AzureFileShare;azurefiles” --out table
También puede ejecutar el comando anterior con el nombre descriptivo del contenedor y el elemento proporcionando los dos parámetros adicionales siguientes:
- --backup-management-type: azurestorage
- --workload-type: azurefileshare
az backup protection disable --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --item-name azurefiles --workload-type azurefileshare --backup-management-type Azurestorage --out table
Name ResourceGroup
------------------------------------ ---------------
fec6f004-0e35-407f-9928-10a163f123e5 azurefiles
El atributo Name de la salida se corresponde con el nombre del trabajo creado por el servicio de copia de seguridad para la operación de detención de la protección. Para realizar el seguimiento del estado del trabajo, use el cmdlet az backup job show.
Detención de la protección sin conservar los puntos de recuperación
Para detener la protección sin conservar los puntos de recuperación, use el cmdlet az backup protection disable con la opción delete-backup-data establecida en true.
En el ejemplo siguiente se detiene la protección del recurso compartido de archivos azurefiles sin conservar puntos de recuperación.
az backup protection disable --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --item-name “AzureFileShare;azurefiles” --delete-backup-data true --out table
También puede ejecutar el comando anterior con el nombre descriptivo del contenedor y el elemento proporcionando los dos parámetros adicionales siguientes:
- --backup-management-type: azurestorage
- --workload-type: azurefileshare
az backup protection disable --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --item-name azurefiles --workload-type azurefileshare --backup-management-type Azurestorage --delete-backup-data true --out table
Reanudación de la protección en un recurso compartido de archivos
Si ha detenido la protección de un recurso compartido de archivos de Azure pero ha conservado los puntos de recuperación, puede reanudar la protección más adelante. Si no conserva los puntos de recuperación, no puede reanudar la protección.
Para reanudar la protección del recurso compartido de archivos, defina los parámetros siguientes:
- --container-name: nombre de la cuenta de almacenamiento que contiene el recurso compartido de archivos. Para recuperar el nombre o nombre descriptivo del contenedor, use el comando az backup container list.
- --item-name: nombre del recurso compartido de archivos para el que desea reanudar la protección. Para recuperar el nombre o nombre descriptivo del elemento de copia de seguridad, use el comando az backup item list.
- --policy-name: nombre de la directiva de copia de seguridad para la que desea reanudar la protección del recurso compartido de archivos.
En el ejemplo siguiente se usa el cmdlet az backup protection resume para reanudar la protección del recurso compartido de archivos azurefiles con la directiva de copia de seguridad schedule1.
az backup protection resume --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount” --item-name “AzureFileShare;azurefiles” --policy-name schedule2 --out table
También puede ejecutar el comando anterior con el nombre descriptivo del contenedor y el elemento proporcionando los dos parámetros adicionales siguientes:
- --backup-management-type: azurestorage
- --workload-type: azurefileshare
az backup protection resume --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --item-name azurefiles --workload-type azurefileshare --backup-management-type Azurestorage --policy-name schedule2 --out table
Name ResourceGroup
------------------------------------ ---------------
75115ab0-43b0-4065-8698-55022a234b7f azurefiles
El atributo Name de la salida se corresponde con el nombre del trabajo creado por el servicio de copia de seguridad para la operación de reanudación de la protección. Para realizar el seguimiento del estado del trabajo, use el cmdlet az backup job show.
Anulación del registro de una cuenta de almacenamiento
Si desea proteger los recursos compartidos de archivos en una cuenta de almacenamiento determinada mediante un almacén de Recovery Services diferente, primero debe detener la protección de todos los recursos compartidos de archivos en esa cuenta de almacenamiento. A continuación, anule el registro de la cuenta del almacén de Recovery Services que se usa actualmente para la protección.
Debe proporcionar un nombre de contenedor para anular el registro de la cuenta de almacenamiento. Para recuperar el nombre o nombre descriptivo del contenedor, use el comando az backup container list.
En el ejemplo siguiente se anula el registro de la cuenta de almacenamiento afsaccount de azurefilesvault con el cmdlet az backup container unregister.
az backup container unregister --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --out table
También puede ejecutar el cmdlet anterior con el nombre descriptivo del contenedor proporcionando el parámetro adicional siguiente:
- --backup-management-type: azurestorage
az backup container unregister --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --backup-management-type azurestorage --out table
Pasos siguientes
Para más información, vea Solución de problemas de las copias de seguridad de recursos compartidos de archivos de Azure.