sql >> Databáze >  >> RDS >> PostgreSQL

Obnova záloh PostgreSQL a TimescaleDB pomocí ClusterControl CLI

Data jsou pravděpodobně nejcennějším aktivem společnosti, takže se musíte ujistit, že jsou bezpečná a lze je v případě selhání obnovit. Zálohy jsou základním způsobem, jak zajistit bezpečnost v plánu obnovy po havárii (DRP), a musíte být připraveni je v případě potřeby obnovit, takže dobrá strategie zálohování zahrnuje čas od času test obnovy, abyste se ujistili, že je záloha použitelná. .

V tomto blogu uvidíme, jak obnovit zálohu PostgreSQL a TimescaleDB z CLI ClusterControl pomocí výkonného nástroje s9s.

ClusterControl CLI

Také známý jako s9s, je nástroj příkazového řádku představený v ClusterControl verze 1.4.1 pro interakci, ovládání a správu databázových clusterů pomocí systému ClusterControl. ClusterControl CLI otevírá nové dveře pro automatizaci clusteru, kde jej můžete snadno integrovat se stávajícími nástroji pro automatizaci nasazení, jako je Ansible, Puppet, Chef atd. Nástroj příkazového řádku se vyvolá spuštěním binárního souboru nazvaného s9s, který je standardně přidán do instalace ClusterControl.

Další informace naleznete v oficiální dokumentaci nebo dokonce spuštěním příkazu s9s s parametrem nápovědy:

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

Nástroj s9s má také manuálovou stránku pro každý příkaz, kde získáte podrobnější informace.

$ man s9s backup

Nyní víte, co je s9s, pojďme se podívat, jak pomocí něj obnovit zálohu PostgreSQL nebo TimescaleDB.

Obnovení záloh pomocí ClusterControl CLI

Nástroj, který pro tuto úlohu musíte použít, je záloha s9s. Používá se k prohlížení, vytváření nebo obnovování záloh databáze pomocí ClusterControl CLI.

Využití

záloha s9s {options}

Kde jsou možnosti:

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

Příklady

Vypsat všechny zálohy pro cluster ID 42:

Zde musíte zadat ID clusteru, aby se zobrazily zálohy. Tento parametr můžete vynechat a zobrazit seznam záloh vytvořených ve všech clusterech.

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

Obnovte zálohu ID 22 na clusteru ID 42:

K tomu budete muset zadat Cluster-ID, kde se má záloha obnovit, a ID zálohy, které se má obnovit.

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

Ověřování vytvořených záloh

Vytvořte úlohu pro ověření dané zálohy identifikované pomocí ID zálohy. Úloha se pokusí nainstalovat databázový software na testovací server pomocí stejných nastavení jako pro daný cluster a poté obnovit zálohu na tomto testovacím serveru. Úloha se vrátí OK, pouze pokud je záloha úspěšně obnovena.

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

Pokud vše proběhlo v pořádku, uvidíte:

Záloha 26 byla úspěšně ověřena.

Závěr

Jak vidíte, pouhým spuštěním jednoduchého příkazu můžete zkontrolovat, obnovit nebo dokonce ověřit zálohy jednoduchým způsobem pomocí ClusterControl CLI.

Další informace o rozhraní ClusterControl CLI a jeho použití naleznete v oficiální dokumentaci.


  1. Dotaz s více hodnotami ve sloupci

  2. Změna priority účtu v databázovém poštovním profilu (SSMS)

  3. SECOND() Příklad – MySQL

  4. Výchozí formát data společnosti Oracle je RRRR-MM-DD, PROČ?