sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL- en TimescaleDB-back-upherstel met ClusterControl CLI

Gegevens zijn waarschijnlijk het meest waardevolle bezit in een bedrijf, dus u moet ervoor zorgen dat het veilig is en kan worden hersteld in geval van storing. Back-ups zijn de basismanier om het veilig te houden in een Disaster Recovery Plan (DRP), en u moet voorbereid zijn om ze indien nodig te herstellen, dus een goede back-upstrategie omvat van tijd tot tijd een hersteltest om ervoor te zorgen dat uw back-up bruikbaar is .

In deze blog zullen we zien hoe u een PostgreSQL- en TimescaleDB-back-up kunt herstellen vanaf de ClusterControl CLI met behulp van de krachtige s9s-tool.

ClusterControl CLI

Ook bekend als s9s, is een opdrachtregelprogramma dat is geïntroduceerd in ClusterControl versie 1.4.1 voor interactie, controle en beheer van databaseclusters met behulp van het ClusterControl-systeem. ClusterControl CLI opent een nieuwe deur voor clusterautomatisering, waar u het eenvoudig kunt integreren met bestaande automatiseringstools voor implementatie, zoals Ansible, Puppet, Chef, enz. Het opdrachtregelprogramma wordt aangeroepen door een binair bestand met de naam s9s uit te voeren dat standaard is toegevoegd aan de ClusterControl-installatie.

Je kunt meer informatie vinden in de officiële documentatie of zelfs door het s9s-commando uit te voeren met de help-parameter:

$ s9s --help

Usage:
  s9s COMMAND [OPTION...]

Where COMMAND is:
    account - to manage accounts on clusters.
      alarm - to manage alarms.
     backup - to view, create and restore database backups.
    cluster - to list and manipulate clusters.
 controller - to manage Cmon controllers.
        job - to view jobs.
maintenance - to view and manipulate maintenance periods.
   metatype - to print metatype information.
       node - to handle nodes.
    process - to view processes running on nodes.
replication - to monitor and control data replication.
     report - to manage reports.
     script - to manage and execute scripts.
     server - to manage hardware resources.
      sheet - to manage spreadsheets.
       user - to manage users.

Generic options:
  -c, --controller=URL       The URL where the controller is found.
  --config-file=PATH         Specify the configuration file for the program.
  --help                     Show help message and exit.
  -P, --controller-port INT  The port of the controller.
  -p, --password=PASSWORD    The password for the Cmon user.
  --private-key-file=FILE    The name of the file for authentication.
  --rpc-tls                  Use TLS encryption to controller.
  -u, --cmon-user=USERNAME   The username on the Cmon system.
  -v, --verbose              Print more messages than normally.
  -V, --version              Print version information and exit.


Formatting:
  --batch                    No colors, no human readable, pure data.
  --color=always|auto|never  Sets if colors should be used in the output.
  --date-format=FORMAT       The format of the dates printed.
  -l, --long                 Print the detailed list.
  --log-file=PATH            The path where the s9s client puts its logs.
  --no-header                Do not print headers.
  --only-ascii               Do not use UTF8 characters.
  --print-json               Print the sent/received JSon messages.
  --print-request            Print the sent JSon request message.


Job related options:
  --job-tags=LIST            Set job tags when creating a new job.
  --log                      Wait and monitor job messages.
  --recurrence=CRONTABSTRING Timing information for recurring jobs.
  --schedule=DATE&TIME       Run the job at the specified time.
  --timeout=SECONDS          Timeout value for the entire job.
  --wait                     Wait until the job ends.

De s9s-tool heeft ook een man-pagina voor elke opdracht om meer gedetailleerde informatie te krijgen.

$ man s9s backup

Nu je weet wat s9s is, laten we eens kijken hoe je een PostgreSQL- of TimescaleDB-back-up ermee kunt herstellen.

Back-ups terugzetten met ClusterControl CLI

Het hulpprogramma dat u voor deze taak moet gebruiken, is s9s-back-up. Het wordt gebruikt voor het bekijken, maken of herstellen van databaseback-ups met behulp van de ClusterControl CLI.

Gebruik

s9s-back-up {options}

Waar zijn de opties:

−−restore Restores an existing backup.
−−backup-id=ID The ID of the backup.
−−cluster-id=ID The ID of the cluster.
--verify                   Verify an existing backup on a test server.
--test-server=HOSTNAME     Verify the backup by restoring on this server.
-l, --long                 Print the detailed list.
--wait                     Wait until the job ends.
--log                      Wait and monitor job messages.

Voorbeelden

Lijst alle back-ups voor cluster-ID 42:

Hier moet u de Cluster-ID opgeven om de back-ups weer te geven. U kunt deze parameter weglaten om de back-up weer te geven die in alle clusters is gemaakt.

$ s9s backup --list \
--cluster-id=42 \
--long

Back-up-ID 22 herstellen op cluster-ID 42:

Hiervoor moet u Cluster-ID opgeven waar de back-up moet worden teruggezet en de back-up-ID die moet worden hersteld.

$ s9s backup --restore \
--cluster-id=42 \
--backup-id=22 \
--wait

Aangemaakte back-ups verifiëren

Maak een taak om de gegeven back-up te verifiëren die wordt geïdentificeerd door de back-up-ID. De taak zal proberen de databasesoftware op de testserver te installeren met dezelfde instellingen als voor het gegeven cluster, en vervolgens de back-up op deze testserver herstellen. De taak keert alleen OK terug als de back-up met succes is hersteld.

$ s9s backup --verify \
--log \
--backup-id=26 \
--test-server=10.10.10.138 \
--cluster-id=42

Als alles goed is gegaan, ziet u:

Back-up 26 is geverifieerd.

Conclusie

Zoals u kunt zien, kunt u met ClusterControl CLI op een eenvoudige manier uw back-ups controleren, herstellen of zelfs verifiëren door een eenvoudige opdracht uit te voeren.

Voor meer informatie over de ClusterControl CLI en het gebruik ervan, kunt u de officiële documentatie volgen.


  1. Hoe verplaats ik een tabel naar een schema in T-SQL

  2. Android - Cursor opMapReady (markeringen)

  3. Zijn er nadelen aan het gebruik van tekst van het gegevenstype voor het opslaan van strings?

  4. PLSQL Invoegen in met subquery en terugkerende clausule