مشاركة عبر


إدارة النسخ الاحتياطية لملفات Azure باستخدام Azure CLI

توضح هذه المقالة كيفية إدارة ومراقبة ملفات Azure التي تم نسخها احتياطيا (النسخ الاحتياطية للقطة والنسخ الاحتياطية المخزنة ) باستخدام Azure CLI. يوفر Azure CLI تجربة سطر أوامر لإدارة موارد Azure. إنها أداة رائعة لإنشاء تنفيذ تلقائي مخصص لاستخدام موارد Azure. يمكنك أيضا إدارة النسخ الاحتياطية لملفات Azure باستخدام مدخل Microsoft AzureوAzure PowerShellوواجهة برمجة تطبيقات REST.

المتطلبات الأساسية

تفترض هذه المقالة أن لديك بالفعل ملفات Azure تم نسخها احتياطيا بواسطة Azure Backup. إذا لم يكن لديك واحد، فشاهد النسخ الاحتياطي لملفات Azure باستخدام CLI لتكوين النسخ الاحتياطي لمشاركات الملفات. في هذه المقالة، تستخدم الموارد التالية:

  • مجموعة الموارد: azurefiles
  • RecoveryServicesVault: azurefilesvault
  • حساب التخزين: afsaccount
  • مشاركة الملف: azurefiles
  • يتطلب هذا البرنامج التعليمي الإصدار 2.0.18 أو أحدث من Azure CLI. إذا كنت تستخدم Azure Cloud Shell، يتم تثبيت أحدث إصدار بالفعل.

مراقبة المهام

عند تشغيل عمليات النسخ الاحتياطي أو الاستعادة، تنشئ خدمة النسخ الاحتياطي مهمة للتتبع. لمراقبة المهام المكتملة أو قيد التشغيل حالياً، استخدم أمر cmdlet التالي az backup job list. باستخدام CLI، يمكنك أيضاً تعليق مهمة قيد التشغيل حالياً أو الانتظار حتى تنتهي المهمة.

يعرض المثال التالي حالة مهام النسخ الاحتياطي لمخزن خدمات الاسترداد 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"
  }
]

إنشاء سياسة النسخ احتياطي

يحدد نهج Azure Backup لملفات Azure كيفية إنشاء النسخ الاحتياطية ومتى يتم إنشاؤها، وفترة الاحتفاظ بنقاط الاسترداد، وقواعد حماية البيانات واستردادها.

اختر مستوى النسخ الاحتياطي:

يمكنك إنشاء نهج نسخ احتياطي عن طريق تنفيذ الأمر az backup policy create بالمعلمات التالية:

  • --backup-management-type – Azure Storage
  • --نوع حمل العمل - AzureFileShare
  • --name – اسم النهج
  • --policy - ملف JSON بتفاصيل مناسبة للجدول الزمني والاستبقاء
  • --resource-group - مجموعة موارد المخزن
  • --vault-name – اسم المخزن

مثال

az backup policy create --resource-group azurefiles --vault-name azurefilesvault --name schedule20 --backup-management-type AzureStorage --policy samplepolicy.json --workload-type AzureFileShare

نموذج JSON (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"
}

مثال على إنشاء نهج نسخ احتياطي لتكوين عدة نسخ احتياطية يومياً

هذه العينة لـ JSON مخصصة للمتطلبات التالية:

  • Schedule: نسخ احتياطي كل 4 ساعات بدءاً من 8 صباحاً (التوقيت العالمي المتفق عليه) لمدة الـ 12 ساعة القادمة.
  • الاستبقاء: يوميا - خمسة أيام، أسبوعيا - كل يوم أحد لمدة 12 أسبوعا، شهريا - الأحد الأول من كل شهر لمدة 60 شهرا، وسنوي - أول يوم أحد من يناير لمدة 10 سنوات.
{
    "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"
                }
            }
        }
    }
}

بمجرد إنشاء النهج بنجاح، يعرض إخراج الأمر نهج JSON الذي قمت بتمريره كمعلمة أثناء تنفيذ الأمر.

يمكنك تعديل قسم الجدول الزمني والاحتفاظ بالنهج كما هو مطلوب.

مثال

إذا كنت ترغب في الاحتفاظ بالنسخة الاحتياطية من الأحد الأول من كل شهر لمدة شهرين، فقم بتحديث الجدول الشهري وفقا للمثال التالي:

"monthlySchedule": {
        "retentionDuration": {
          "count": 2,
          "durationType": "Months"
        },
        "retentionScheduleDaily": null,
        "retentionScheduleFormatType": "Weekly",
        "retentionScheduleWeekly": {
          "daysOfTheWeek": [
            "Sunday"
          ],
          "weeksOfTheMonth": [
            "First"
          ]
        },
        "retentionTimes": [
          "2020-01-05T08:00:00+00:00"
        ]
      }

تعديل النهج

يمكنك تعديل نهج النسخ الاحتياطي لتغيير تردد النسخ الاحتياطي أو نطاق الاستبقاء باستخدام az backup item set-policy.

لتغيير النهج، حدد المعلمات التالية:

  • --container-name: اسم حساب التخزين الذي يستضيف File Share. لاسترداد الاسم أو الاسم المألوف لحاويتك، استخدم الأمر az backup container list.
  • --name: اسم File Share الذي تريد تغيير النهج له. لاسترداد الاسم أو الاسم المألوف للعنصر الذي نُسخ احتياطياً، استخدم الأمر az backup item list .
  • --policy-name: اسم نهج النسخ الاحتياطي الذي تريد تعيينه لمشاركة الملفات. يمكنك استخدام az backup policy list لعرض جميع النُهج الخاصة بمخزنك.

يعين المثال التالي نهج النسخ الاحتياطي schedule2 لمشاركة الملفات azurefiles الموجودة في حساب تخزين 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

يمكنك أيضا تشغيل الأمر السابق باستخدام الأسماء المألوفة للحاوية والعنصر عن طريق توفير المعلمتين التاليتين:

  • --نوع إدارة النسخ الاحتياطي: azurestorage
  • --نوع حمل العمل: 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

تتوافق سمة Name في الإخراج مع اسم الوظيفة التي أنشئت بواسطة خدمة النسخ الاحتياطي لعملية نهج التغيير. لتتبع حالة المهمة، استخدم أمر cmdlet التالي az backup job show.

إيقاف الحماية على مشاركة ملف

هناك طريقتان لإيقاف حماية ملفات Azure:

  • أوقف جميع مهام النسخ الاحتياطي المستقبلية واحذف جميع نقاط الاسترداد.
  • أوقف جميع مهام النسخ الاحتياطي المستقبلية ولكن اترك نقاط الاسترداد.

قد تكون هناك تكلفة مرتبطة بترك نقاط الاسترداد في التخزين، لأنه يتم الاحتفاظ باللقطات الأساسية التي تم إنشاؤها بواسطة Azure Backup. تتمثل فائدة ترك نقاط الاسترداد في خيار استعادة مشاركة الملفات لاحقا، إذا أردت ذلك. للحصول على معلومات حول تكلفة ترك نقاط الاسترداد، راجع تفاصيل التسعير. إذا اخترت حذف جميع نقاط الاسترداد، فلن تتمكن من استعادة مشاركة الملفات.

لإيقاف الحماية لمشاركة الملفات، حدد المعلمات التالية:

  • --container-name: اسم حساب التخزين الذي يستضيف File Share. لاسترداد الاسم أو الاسم المألوف لحاويتك، استخدم الأمر az backup container list.
  • --item-name: اسم File Share الذي تريد إيقاف الحماية له. لاسترداد الاسم أو الاسم المألوف للعنصر الذي نُسخ احتياطياً، استخدم الأمر az backup item list .

أوقف الحماية واحتفظ بنقاط الاسترداد

لإيقاف الحماية أثناء الاحتفاظ بالبيانات، استخدم الأمر cmdlet التالي az backup protection disable.

يوقف المثال التالي الحماية لمشاركة الملفات azurefiles ولكنه يحتفظ بجميع نقاط الاسترداد.

az backup protection disable --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --item-name “AzureFileShare;azurefiles” --out table

يمكنك أيضا تشغيل الأمر السابق باستخدام الاسم المألوف للحاوية والعنصر عن طريق توفير المعلمتين التاليتين:

  • --نوع إدارة النسخ الاحتياطي: azurestorage
  • --نوع حمل العمل: 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

تتوافق سمة الاسم في الإخراج مع اسم الوظيفة المنشأة بواسطة خدمة النسخ الاحتياطي لعملية إيقاف الحماية. لتتبع حالة المهمة، استخدم أمر cmdlet التالي az backup job show.

أوقف الحماية دون الاحتفاظ بنقاط الاسترداد

لإيقاف الحماية دون الاحتفاظ بنقاط الاسترداد، استخدم الأمر cmdlet التالي az backup protection disable مع تعيين الخيار delete-backup-data على true.

يوقف المثال التالي الحماية لمشاركة الملفات azurefiles دون الاحتفاظ بنقاط الاسترداد.

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

يمكنك أيضا تشغيل الأمر السابق باستخدام الاسم المألوف للحاوية والعنصر عن طريق توفير المعلمتين التاليتين:

  • --نوع إدارة النسخ الاحتياطي: azurestorage
  • --نوع حمل العمل: 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

استئناف الحماية على مشاركة ملف

إذا أوقفت الحماية لملفات Azure ولكنك احتفظت بنقاط الاسترداد، يمكنك استئناف الحماية لاحقا. في حالة عدم الاحتفاظ بنقاط الاسترداد، لا يمكنك استئناف الحماية.

لاستئناف الحماية لمشاركة الملفات، حدد المعلمات التالية:

  • --container-name: اسم حساب التخزين الذي يستضيف File Share. لاسترداد الاسم أو الاسم المألوف لحاويتك، استخدم الأمر az backup container list.
  • --item-name: اسم File Share الذي تريد استئناف الحماية له. لاسترداد الاسم أو الاسم المألوف للعنصر الذي نُسخ احتياطياً، استخدم الأمر az backup item list .
  • --policy-name: اسم نهج النسخ الاحتياطي الذي تريد استئناف الحماية لمشاركة الملفات له.

يستخدم المثال التالي الأمر cmdlet استئناف حماية النسخ الاحتياطي من az لاستئناف الحماية لمشاركة الملفات azurefiles باستخدام نهج النسخ الاحتياطي 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

يمكنك أيضا تشغيل الأمر السابق باستخدام الاسم المألوف للحاوية والعنصر عن طريق توفير المعلمتين التاليتين:

  • --نوع إدارة النسخ الاحتياطي: azurestorage
  • --نوع حمل العمل: 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

تتوافق سمة Name في الإخراج مع اسم الوظيفة المنشأة بواسطة خدمة النسخ الاحتياطي لعملية حماية السيرة الذاتية. لتتبع حالة المهمة، استخدم أمر cmdlet التالي az backup job show.

إلغاء تسجيل حساب التخزين

إذا كنت تريد حماية مشاركات الملفات في حساب تخزين معين باستخدام مخزن خدمات استرداد مختلف، فتوقف أولا عن الحماية لجميع مشاركات الملفات في حساب التخزين هذا. ثم ألغِ تسجيل الحساب من Recovery Services vault المستخدم حالياً للحماية.

تحتاج إلى توفير اسم حاوية لإلغاء تسجيل حساب التخزين. لاسترداد الاسم أو الاسم المألوف لحاويتك، استخدم الأمر az backup container list.

يلغي المثال التالي تسجيل حساب تخزين afsaccount من azurefilesvault باستخدام أمر cmdlet التالي az backup container unregister الاحتياطية لإلغاء التسجيل.

az backup container unregister --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --out table

يمكنك أيضا تشغيل cmdlet السابق باستخدام الاسم المألوف للحاوية عن طريق توفير المعلمة التالية:

  • --نوع إدارة النسخ الاحتياطي: azurestorage
az backup container unregister --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --backup-management-type azurestorage --out table

الخطوات التالية

استكشاف أخطاء النسخ الاحتياطي لملفات Azure وإصلاحها.