PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Khôi phục sao lưu PostgreSQL và TimescaleDB bằng ClusterControl CLI

Dữ liệu có lẽ là tài sản quý giá nhất trong một công ty, vì vậy bạn cần đảm bảo rằng nó an toàn và có thể được khôi phục trong trường hợp bị hỏng. Sao lưu là cách cơ bản để giữ an toàn trong Kế hoạch khôi phục sau thảm họa (DRP) và bạn cần chuẩn bị để khôi phục chúng nếu cần, vì vậy, một chiến lược sao lưu tốt bao gồm kiểm tra khôi phục thường xuyên để đảm bảo rằng bản sao lưu của bạn có thể sử dụng được .

Trong blog này, chúng ta sẽ xem cách khôi phục bản sao lưu PostgreSQL và TimescaleDB từ ClusterControl CLI bằng công cụ s9s mạnh mẽ.

ClusterControl CLI

Còn được gọi là s9s, là một công cụ dòng lệnh được giới thiệu trong ClusterControl phiên bản 1.4.1 để tương tác, kiểm soát và quản lý các cụm cơ sở dữ liệu bằng hệ thống ClusterControl. ClusterControl CLI mở ra một cánh cửa mới cho tự động hóa cụm, nơi bạn có thể dễ dàng tích hợp nó với các công cụ tự động hóa triển khai hiện có như Ansible, Puppet, Chef, v.v. Công cụ dòng lệnh được gọi bằng cách thực thi một tệp nhị phân có tên là s9s được thêm vào mặc định trong cài đặt ClusterControl.

Bạn có thể tìm thêm thông tin trong Tài liệu chính thức hoặc thậm chí bằng cách chạy lệnh s9s với tham số trợ giúp:

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

Ngoài ra, công cụ s9s có một trang hướng dẫn cho mỗi lệnh để có thêm thông tin chi tiết.

$ man s9s backup

Bây giờ bạn đã biết s9s là gì, hãy xem cách khôi phục bản sao lưu PostgreSQL hoặc TimescaleDB bằng cách sử dụng nó.

Khôi phục Bản sao lưu bằng ClusterControl CLI

Công cụ bạn cần sử dụng cho công việc này là bản sao lưu s9s. Nó được sử dụng để xem, tạo hoặc khôi phục các bản sao lưu cơ sở dữ liệu bằng ClusterControl CLI.

Cách sử dụng

sao lưu s9s {options}

Tùy chọn ở đâu:

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

Ví dụ

Liệt kê tất cả các bản sao lưu cho ID cụm 42:

Tại đây, bạn cần chỉ định ID Cụm để liệt kê các bản sao lưu. Bạn có thể bỏ qua tham số này để liệt kê bản sao lưu đã tạo trong tất cả các cụm.

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

Khôi phục ID dự phòng 22 trên ID cụm 42:

Đối với điều này, bạn sẽ cần chỉ định Cluster-ID nơi khôi phục bản sao lưu và ID dự phòng sẽ được khôi phục.

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

Xác minh các Bản sao lưu đã Tạo

Tạo công việc để xác minh bản sao lưu đã cho được xác định bởi ID sao lưu. Công việc sẽ cố gắng cài đặt phần mềm cơ sở dữ liệu trên máy chủ thử nghiệm bằng cách sử dụng các cài đặt tương tự như đối với cụm đã cho, sau đó khôi phục bản sao lưu trên máy chủ thử nghiệm này. Công việc chỉ trả về OK nếu bản sao lưu được khôi phục thành công.

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

Nếu mọi thứ suôn sẻ, bạn sẽ thấy:

Bản sao lưu 26 ​​đã được xác minh thành công.

Kết luận

Như bạn có thể thấy, chỉ bằng cách chạy một lệnh đơn giản, bạn có thể kiểm tra, khôi phục hoặc thậm chí xác minh các bản sao lưu của mình một cách dễ dàng bằng cách sử dụng ClusterControl CLI.

Để biết thêm thông tin về ClusterControl CLI và cách sử dụng nó, bạn có thể theo dõi Tài liệu chính thức.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng con trỏ để phân trang trong PostgreSQL

  2. Ghi chú về Chỉ mục B-Tree PostgreSQL

  3. Không thể kết nối với PostgreSQL cục bộ

  4. Làm thế nào để chuyển đổi khóa chính từ số nguyên sang nối tiếp?

  5. dplyr left_join nhỏ hơn, lớn hơn điều kiện