sql >> Base de Datos >  >> RDS >> PostgreSQL

Restauración de copias de seguridad de PostgreSQL y TimescaleDB utilizando ClusterControl CLI

Los datos son probablemente el activo más valioso de una empresa, por lo que debe asegurarse de que estén seguros y se puedan restaurar en caso de falla. Las copias de seguridad son la forma básica de mantenerlo seguro en un Plan de recuperación de desastres (DRP), y debe estar preparado para restaurarlas si es necesario, por lo que una buena estrategia de copia de seguridad incluye una prueba de restauración de vez en cuando para asegurarse de que su copia de seguridad se pueda utilizar. .

En este blog, veremos cómo restaurar una copia de seguridad de PostgreSQL y TimescaleDB desde la CLI de ClusterControl usando la poderosa herramienta s9s.

ClusterControlCLI

También conocida como s9s, es una herramienta de línea de comandos introducida en ClusterControl versión 1.4.1 para interactuar, controlar y administrar clústeres de bases de datos mediante el sistema ClusterControl. ClusterControl CLI abre una nueva puerta para la automatización de clústeres donde puede integrarla fácilmente con herramientas de automatización de implementación existentes como Ansible, Puppet, Chef, etc. La herramienta de línea de comandos se invoca ejecutando un binario llamado s9s agregado de forma predeterminada en la instalación de ClusterControl.

Puede encontrar más información en la Documentación oficial o incluso ejecutando el comando s9s con el parámetro de ayuda:

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

Además, la herramienta s9s tiene una página de manual para cada comando para obtener información más detallada.

$ man s9s backup

Ahora que sabe qué es s9s, veamos cómo restaurar una copia de seguridad de PostgreSQL o TimescaleDB usándolo.

Restauración de copias de seguridad mediante CLI de ClusterControl

La herramienta que necesita usar para este trabajo es la copia de seguridad s9s. Se utiliza para ver, crear o restaurar copias de seguridad de la base de datos mediante la CLI de ClusterControl.

Uso

copia de seguridad s9s {opciones}

Donde las opciones son:

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

Ejemplos

Lista de todas las copias de seguridad para el ID de clúster 42:

Aquí, debe especificar el ID del clúster para enumerar las copias de seguridad. Puede omitir este parámetro para enumerar la copia de seguridad creada en todos los clústeres.

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

Restaurar copia de seguridad ID 22 en clúster ID 42:

Para esto, deberá especificar el ID de clúster donde restaurar la copia de seguridad y el ID de la copia de seguridad que se restaurará.

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

Verificación de copias de seguridad creadas

Cree un trabajo para verificar la copia de seguridad dada identificada por la ID de la copia de seguridad. El trabajo intentará instalar el software de la base de datos en el servidor de prueba usando la misma configuración que para el clúster dado, luego restaurará la copia de seguridad en este servidor de prueba. El trabajo devuelve OK solo si la copia de seguridad se restauró correctamente.

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

Si todo salió bien, verá:

La copia de seguridad 26 se verificó con éxito.

Conclusión

Como puede ver, con solo ejecutar un comando simple, puede verificar, restaurar o incluso verificar sus copias de seguridad de una manera fácil usando ClusterControl CLI.

Para obtener más información sobre la CLI de ClusterControl y su uso, puede consultar la Documentación oficial.