PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Przywracanie kopii zapasowych PostgreSQL i TimescaleDB za pomocą ClusterControl CLI

Dane są prawdopodobnie najcenniejszym zasobem w firmie, więc musisz upewnić się, że są bezpieczne i można je przywrócić w przypadku awarii. Kopie zapasowe to podstawowy sposób na zapewnienie bezpieczeństwa w planie odzyskiwania po awarii (DRP). Musisz być przygotowany na ich przywrócenie w razie potrzeby, więc dobra strategia tworzenia kopii zapasowych obejmuje od czasu do czasu test przywracania, aby upewnić się, że kopia zapasowa nadaje się do użytku .

W tym blogu zobaczymy, jak przywrócić kopię zapasową PostgreSQL i TimescaleDB z CLI ClusterControl za pomocą potężnego narzędzia s9s.

ClusterControl CLI

Znane również jako s9s, to narzędzie wiersza poleceń wprowadzone w ClusterControl w wersji 1.4.1 do interakcji, kontroli i zarządzania klastrami baz danych za pomocą systemu ClusterControl. ClusterControl CLI otwiera nowe drzwi dla automatyzacji klastra, gdzie można go łatwo zintegrować z istniejącymi narzędziami do automatyzacji wdrażania, takimi jak Ansible, Puppet, Chef itp. Narzędzie wiersza poleceń jest wywoływane przez wykonanie pliku binarnego o nazwie s9s dodanego domyślnie w instalacji ClusterControl.

Więcej informacji można znaleźć w oficjalnej dokumentacji lub nawet uruchamiając polecenie s9s z parametrem pomocy:

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

Ponadto narzędzie s9s ma stronę podręcznika dla każdego polecenia, aby uzyskać bardziej szczegółowe informacje.

$ man s9s backup

Teraz wiesz, czym jest s9s, zobaczmy, jak przywrócić kopię zapasową PostgreSQL lub TimescaleDB za jej pomocą.

Przywracanie kopii zapasowych za pomocą ClusterControl CLI

Narzędziem, którego potrzebujesz do tego zadania, jest kopia zapasowa s9s. Służy do przeglądania, tworzenia lub przywracania kopii zapasowych bazy danych za pomocą ClusterControl CLI.

Użycie

kopia zapasowa s9s {opcje}

Gdzie są opcje:

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

Przykłady

Wyświetl wszystkie kopie zapasowe dla klastra o identyfikatorze 42:

Tutaj musisz określić identyfikator klastra, aby wyświetlić listę kopii zapasowych. Możesz pominąć ten parametr, aby wyświetlić kopię zapasową utworzoną we wszystkich klastrach.

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

Przywróć identyfikator kopii zapasowej 22 na identyfikator klastra 42:

W tym celu musisz określić identyfikator Cluster-ID, gdzie przywrócić kopię zapasową, oraz identyfikator kopii zapasowej, który ma zostać przywrócony.

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

Weryfikowanie utworzonych kopii zapasowych

Utwórz zadanie, aby zweryfikować daną kopię zapasową identyfikowaną przez identyfikator kopii zapasowej. Zadanie podejmie próbę zainstalowania oprogramowania bazy danych na serwerze testowym przy użyciu tych samych ustawień, co dla danego klastra, a następnie przywróci kopię zapasową na tym serwerze testowym. Zadanie zwraca OK tylko wtedy, gdy kopia zapasowa zostanie pomyślnie przywrócona.

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

Jeśli wszystko poszło dobrze, zobaczysz:

Kopia zapasowa 26 została pomyślnie zweryfikowana.

Wnioski

Jak widać, po prostu uruchamiając proste polecenie, możesz w łatwy sposób sprawdzić, przywrócić, a nawet zweryfikować swoje kopie zapasowe za pomocą ClusterControl CLI.

Więcej informacji o ClusterControl CLI i jego użyciu można znaleźć w oficjalnej dokumentacji.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gdzie warunek dla połączonego stołu w Sequelize ORM

  2. Rekurencyjne zapytanie Postgres z row_to_json

  3. Usługa bazy danych PostgreSQL

  4. Liczenie znaków w sekwencjach za pomocą SQL

  5. Odpowiednik DATEADD w PostgreSQL