Udostępnij przez


Przywracanie wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL przy użyciu interfejsu wiersza polecenia platformy Azure

Ten przykładowy skrypt interfejsu wiersza polecenia przywraca pojedyncze wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL do poprzedniego punktu w czasie.

Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Wymagania wstępne

Przykładowy skrypt

W przypadku tego skryptu użyj interfejsu wiersza polecenia platformy Azure lokalnie, ponieważ uruchamianie w usłudze Cloud Shell trwa zbyt długo.

Zaloguj się do Azure

Użyj poniższego skryptu, aby zalogować się przy użyciu określonej subskrypcji.

subscription="<subscriptionId>" # add subscription here

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

Aby uzyskać więcej informacji, zobacz set active subscription or log in interactively (Ustawianie aktywnej subskrypcji lub logowanie się interaktywnie)

Uruchamianie skryptu

# 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

Dokończenie wdrożenia

Aby usunąć grupę zasobów i wszystkie zasoby z nią związane, użyj następującego polecenia az group delete - chyba że nadal potrzebujesz tych zasobów. Niektóre z tych zasobów mogą wymagać trochę czasu na stworzenie, a także usunięcie.

az group delete --name $resourceGroup

Przykładowa referencja

Ten skrypt używa poleceń opisanych w poniższej tabeli:

Polecenie Notatki
Polecenie az group create służy do utworzenia grupy w Azure. Tworzy grupę zasobów, w której są przechowywane wszystkie zasoby.
az postgresql server create (komenda do utworzenia serwera postgresql) Tworzy wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL, które hostuje bazy danych.
az postgresql server restore - przywracanie serwera PostgreSQL Przywraca serwer z kopii zapasowej.
az group delete - usuwa grupę zasobów w Azure Usuwa grupę zasobów, w tym wszystkie zagnieżdżone zasoby.