sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL och TimescaleDB säkerhetskopiering återställande med ClusterControl CLI

Data är förmodligen den mest värdefulla tillgången i ett företag, så du måste se till att den är säker och kan återställas i händelse av fel. Säkerhetskopiering är det grundläggande sättet att hålla det säkert i en Disaster Recovery Plan (DRP), och du måste vara beredd att återställa dem om det behövs, så en bra säkerhetskopieringsstrategi inkluderar ett återställningstest då och då för att se till att din säkerhetskopia är användbar .

I den här bloggen kommer vi att se hur man återställer en PostgreSQL- och TimescaleDB-säkerhetskopia från ClusterControl CLI med det kraftfulla s9s-verktyget.

ClusterControl CLI

Även känd som s9s, är ett kommandoradsverktyg som introducerats i ClusterControl version 1.4.1 för att interagera, kontrollera och hantera databaskluster med ClusterControl-systemet. ClusterControl CLI öppnar en ny dörr för klusterautomation där du enkelt kan integrera den med befintliga automationsverktyg för distribution som Ansible, Puppet, Chef, etc. Kommandoradsverktyget anropas genom att exekvera en binär som heter s9s som läggs till som standard i ClusterControl-installationen.

Du kan hitta mer information i den officiella dokumentationen eller till och med genom att köra kommandot s9s med hjälpparametern:

$ 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.

Dessutom har s9s-verktyget en man-sida för varje kommando för att få mer detaljerad information.

$ man s9s backup

Nu vet du vad s9s är, låt oss se hur du återställer en PostgreSQL- eller TimescaleDB-säkerhetskopia med den.

Återställa säkerhetskopior med ClusterControl CLI

Verktyget som du behöver använda för det här jobbet är s9s backup. Den används för att visa, skapa eller återställa säkerhetskopior av databas med ClusterControl CLI.

Användning

s9s backup {options}

Var alternativ finns:

−−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.

Exempel

Lista alla säkerhetskopior för kluster-ID 42:

Här måste du ange kluster-ID för att lista säkerhetskopiorna. Du kan utelämna denna parameter för att lista säkerhetskopian som skapats i alla kluster.

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

Återställ backup-ID 22 på kluster-ID 42:

För detta måste du ange Cluster-ID där säkerhetskopian ska återställas och Backup ID som ska återställas.

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

Verifiera skapade säkerhetskopior

Skapa ett jobb för att verifiera den givna säkerhetskopian som identifieras av backup-ID. Jobbet kommer att försöka installera databasprogramvaran på testservern med samma inställningar som för det givna klustret och sedan återställa säkerhetskopian på denna testserver. Jobbet återgår bara OK om säkerhetskopian har återställts.

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

Om allt gick bra kommer du att se:

Backup 26 har verifierats.

Slutsats

Som du kan se, bara genom att köra ett enkelt kommando, kan du kontrollera, återställa eller till och med verifiera dina säkerhetskopior på ett enkelt sätt med ClusterControl CLI.

För mer information om ClusterControl CLI och dess användning kan du följa den officiella dokumentationen.


  1. Vilka är de 10 bästa funktionerna i Microsoft Access?

  2. mysql-transaktion - återställ alla undantag

  3. Hantera lösenord och resurser i Oracle med hjälp av profil

  4. Hur man ansluter till SQL Server Default Instance och SQL Server Named Instances - SQL Server / TSQL självstudie del 2