Memulihkan server dengan menggunakan Azure CLI di server fleksibel Azure Database for PostgreSQL

Sampel skrip CLI ini memulihkan server fleksibel Azure Database for PostgreSQL tunggal ke titik waktu sebelumnya.

Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.

Prasyarat

Contoh skrip

Untuk skrip ini, gunakan Azure CLI secara lokal karena memerlukan waktu terlalu lama untuk berjalan di Cloud Shell.

Masuk ke Azure

Gunakan skrip berikut untuk masuk menggunakan langganan tertentu.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Untuk informasi selengkapnya, lihat mengatur langganan aktif atau masuk secara interaktif

Jalankan skrip

# 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

Bersihkan implementasi

Gunakan perintah berikut untuk menghapus grup sumber daya dan semua sumber daya yang terkait dengannya menggunakan perintah az group delete - kecuali Anda masih memiliki kebutuhan untuk sumber daya ini. Beberapa sumber daya ini mungkin membutuhkan beberapa waktu untuk dibuat dan dihapus.

az group delete --name $resourceGroup

Contoh referensi

Skrip ini menggunakan perintah yang diuraikan dalam di tabel berikut:

Perintah Notes
Perintah az group create digunakan untuk membuat grup baru. Membuat grup sumber daya tempat semua sumber daya disimpan.
az postgresql server buat Membuat server fleksibel Azure Database for PostgreSQL yang menampung database.
memulihkan server az postgresql Memulihkan server dari cadangan.
az hapus grup Menghapus kelompok sumber daya termasuk semua sumber daya tertanam.