استعادة قاعدة بيانات Azure ل PostgreSQL - مثيل الخادم المرن باستخدام Azure CLI
ينطبق على:Azure Database لـPostgreSQL - خادم فرديAzure Database لـPostgreSQL - خادم مرن
يستعيد نموذج البرنامج النصي CLI هذا مثيل خادم مرن لقاعدة بيانات Azure ل PostgreSQL إلى نقطة زمنية سابقة.
إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.
المتطلبات الأساسية
استخدم بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع التشغيل السريع ل Bash في Azure Cloud Shell.
إذا كنت تفضل تشغيل أوامر مرجع CLI محلياً قم بتثبيت CLI Azure. إذا كنت تعمل على نظام تشغيل Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيت محلي، يُرجى تسجيل الدخول إلى Azure CLI مستخدمًا أمر az login. لإنهاء عملية المصادقة، اتبع الخطوات المعروضة في جهازك. للحصول على خيارات أخرى لتسجيل دخول، راجع تسجيل الدخول باستخدام Azure CLI.
عندما يُطلب منك، قم بتثبيت ملحق Azure CLI عند الاستخدام لأول مرة. لمزيد من المعلومات بشأن الامتدادات، راجع استخدام امتدادات مع Azure CLI.
يُرجى تشغيل إصدار az للوصول إلى الإصدار والمكتبات التابعة التي تم تثبيتها. للتحديث لآخر إصدار، يُرجى تشغيل تحديث az.
نموذج البرنامج النصي
في هذا البرنامج النصي، استخدم واجهة سطر الأوامر في Azure محليًا حيث يستغرق وقتًا طويلاً لتشغيله في Cloud Shell.
تسجيل الدخول إلى Azure
استخدم البرنامج النصي التالي لتسجيل الدخول باستخدام اشتراك معين.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
لمزيد من المعلومات، راجع تعيين اشتراك نشط أو تسجيل الدخول بشكل تفاعلي
تشغيل البرنامج النصي
# Restore an Azure Database for PostgreSQL server
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-postgresql-rg-$randomIdentifier"
tag="backup-restore-postgresql"
server="msdocs-postgresql-server-$randomIdentifier"
sku="GP_Gen5_2"
restoreServer="restore-server$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
echo "Using resource group $resourceGroup with login: $login, password: $password..."
# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag
# Create a PostgreSQL server in the resource group
# Name of a server maps to DNS name and is thus required to be globally unique in Azure.
echo "Creating $server in $location..."
az postgres server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --sku-name $sku
# Sleeping commands to wait long enough for automatic backup to be created
echo "Sleeping..."
sleep 10m
# Restore a server from backup to a new server
# To specify a specific point-in-time (in UTC) to restore from, use the ISO8601 format:
# restorePoint=“2021-07-09T13:10:00Z”
restorePoint=$(date +%s)
restorePoint=$(expr $restorePoint - 60)
restorePoint=$(date -d @$restorePoint +"%Y-%m-%dT%T")
echo $restorePoint
echo "Restoring $restoreServer"
az postgres server restore --name $restoreServer --resource-group $resourceGroup --restore-point-in-time $restorePoint --source-server $server
تنظيف النشر
استخدم الأمر التالي لإزالة مجموعة الموارد وجميع الموارد المقترنة بها باستخدام الأمر az group delete - إلا إذا وُجدت حاجة مستمرة لهذه الموارد. قد يستغرق إنشاء بعض هذه الموارد بعض الوقت، وكذلك حذفها.
az group delete --name $resourceGroup
نموذج مرجع
يستخدم البرنامج النصي هذا الأوامر الموضحة في الجدول التالي:
الأمر | ملاحظات |
---|---|
az group create | إنشاء مجموعة موارد يتم تخزين كل الموارد فيها. |
az postgresql server create | إنشاء مثيل خادم مرن لقاعدة بيانات Azure ل PostgreSQL يستضيف قواعد البيانات. |
az postgresql server restore | استعادة خادم من النسخة الاحتياطية. |
حذف مجموعة az | يحذف مجموعة الموارد بما في ذلك جميع الموارد المتداخلة. |
الخطوات التالية
- اقرأ المزيد من المعلومات حول Azure CLI: وثائق Azure CLI.
- جرب البرامج النصية الإضافية: نماذج Azure CLI لقاعدة بيانات Azure ل PostgreSQL - الخادم المرن
- كيفية النسخ الاحتياطي واستعادة خادم في قاعدة بيانات Azure ل PostgreSQL - خادم مرن باستخدام مدخل Microsoft Azure