PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Pemulihan cadangan PostgreSQL dan TimescaleDB menggunakan ClusterControl CLI

Data mungkin adalah aset paling berharga di perusahaan, jadi Anda perlu memastikannya aman dan dapat dipulihkan jika terjadi kegagalan. Pencadangan adalah cara dasar untuk menjaganya tetap aman dalam Rencana Pemulihan Bencana (DRP), dan Anda harus bersiap untuk memulihkannya jika diperlukan, jadi strategi pencadangan yang baik mencakup uji pemulihan dari waktu ke waktu untuk memastikan cadangan Anda dapat digunakan .

Di blog ini, kita akan melihat cara memulihkan cadangan PostgreSQL dan TimescaleDB dari ClusterControl CLI menggunakan alat s9s yang canggih.

ClusterControl CLI

Juga dikenal sebagai s9s, adalah alat baris perintah yang diperkenalkan di ClusterControl versi 1.4.1 untuk berinteraksi, mengontrol, dan mengelola cluster database menggunakan sistem ClusterControl. ClusterControl CLI membuka pintu baru untuk otomatisasi cluster di mana Anda dapat dengan mudah mengintegrasikannya dengan alat otomatisasi penyebaran yang ada seperti Ansible, Puppet, Chef, dll. Alat baris perintah dipanggil dengan mengeksekusi biner yang disebut s9s yang ditambahkan secara default dalam instalasi ClusterControl.

Anda dapat menemukan informasi lebih lanjut di Dokumentasi Resmi atau bahkan dengan menjalankan perintah s9s dengan parameter bantuan:

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

Selain itu, alat s9s memiliki halaman manual untuk setiap perintah guna mendapatkan informasi yang lebih detail.

$ man s9s backup

Sekarang Anda tahu apa itu s9s, mari kita lihat cara memulihkan cadangan PostgreSQL atau TimescaleDB menggunakannya.

Memulihkan Cadangan menggunakan ClusterControl CLI

Alat yang perlu Anda gunakan untuk pekerjaan ini adalah pencadangan s9s. Ini digunakan untuk melihat, membuat, atau memulihkan cadangan basis data menggunakan ClusterControl CLI.

Penggunaan

s9s backup {options}

Di mana opsi berada:

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

Contoh

Mencantumkan semua cadangan untuk ID cluster 42:

Di sini, Anda perlu menentukan ID Cluster untuk membuat daftar cadangan. Anda dapat menghilangkan parameter ini untuk membuat daftar cadangan yang dibuat di semua cluster.

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

Pulihkan ID cadangan 22 pada ID cluster 42:

Untuk ini, Anda perlu menentukan Cluster-ID tempat untuk memulihkan cadangan, dan ID Cadangan untuk dipulihkan.

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

Memverifikasi Cadangan yang Dibuat

Buat pekerjaan untuk memverifikasi cadangan yang diberikan yang diidentifikasi oleh ID cadangan. Pekerjaan akan mencoba menginstal perangkat lunak database di server pengujian menggunakan pengaturan yang sama seperti untuk cluster yang diberikan, kemudian memulihkan cadangan di server pengujian ini. Pekerjaan mengembalikan OK hanya jika cadangan berhasil dipulihkan.

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

Jika semuanya berjalan lancar, Anda akan melihat:

Cadangan 26 berhasil diverifikasi.

Kesimpulan

Seperti yang Anda lihat, hanya dengan menjalankan perintah sederhana, Anda dapat memeriksa, memulihkan, atau bahkan memverifikasi cadangan Anda dengan cara yang mudah menggunakan ClusterControl CLI.

Untuk informasi lebih lanjut tentang ClusterControl CLI dan penggunaannya, Anda dapat mengikuti Dokumentasi Resmi.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengimpor file CSV zip ke PostgreSQL

  2. Membandingkan Kinerja &Harga PostgreSQL DigitalOcean – ScaleGrid vs. Database yang Dikelola DigitalOcean

  3. Alias ​​referensi dalam klausa WHERE

  4. Permintaan rekursif postgres dengan row_to_json

  5. Melakukan Perubahan Topologi Replikasi untuk PostgreSQL