PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

ClusterControl CLI का उपयोग करके PostgreSQL और TimescaleDB बैकअप बहाली

डेटा शायद किसी कंपनी की सबसे मूल्यवान संपत्ति है, इसलिए आपको यह सुनिश्चित करने की ज़रूरत है कि यह सुरक्षित है और विफलता के मामले में इसे बहाल किया जा सकता है। बैकअप आपदा रिकवरी योजना (डीआरपी) में इसे सुरक्षित रखने का मूल तरीका है, और यदि आवश्यक हो तो आपको उन्हें पुनर्स्थापित करने के लिए तैयार रहने की आवश्यकता है, इसलिए एक अच्छी बैकअप रणनीति में यह सुनिश्चित करने के लिए समय-समय पर एक बहाली परीक्षण शामिल है कि आपका बैकअप उपयोग योग्य है। ।

इस ब्लॉग में, हम देखेंगे कि शक्तिशाली s9s टूल का उपयोग करके ClusterControl CLI से PostgreSQL और TimescaleDB बैकअप को कैसे पुनर्स्थापित किया जाए।

ClusterControl CLI

s9s के रूप में भी जाना जाता है, ClusterControl संस्करण 1.4.1 में क्लस्टर कंट्रोल सिस्टम का उपयोग करके डेटाबेस क्लस्टर्स को इंटरैक्ट करने, नियंत्रित करने और प्रबंधित करने के लिए पेश किया गया एक कमांड-लाइन टूल है। ClusterControl CLI क्लस्टर ऑटोमेशन के लिए एक नया द्वार खोलता है जहाँ आप इसे Ansible, Puppet, Chef, आदि जैसे मौजूदा परिनियोजन ऑटोमेशन टूल के साथ आसानी से एकीकृत कर सकते हैं। कमांड-लाइन टूल को ClusterControl इंस्टॉलेशन में डिफ़ॉल्ट रूप से जोड़े गए s9s नामक बाइनरी को निष्पादित करके लागू किया जाता है।

आप अधिक जानकारी आधिकारिक दस्तावेज़ीकरण में या यहां तक ​​कि सहायता पैरामीटर के साथ s9s कमांड चलाकर प्राप्त कर सकते हैं:

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

साथ ही, s9s टूल में प्रत्येक कमांड के लिए अधिक विस्तृत जानकारी प्राप्त करने के लिए एक मैन पेज है।

$ man s9s backup

अब आप जानते हैं कि s9s क्या है, आइए देखें कि इसका उपयोग करके PostgreSQL या TimescaleDB बैकअप को कैसे पुनर्स्थापित किया जाए।

ClusterControl CLI का उपयोग करके बैकअप पुनर्स्थापित करना

इस कार्य के लिए आपको जिस टूल का उपयोग करने की आवश्यकता है वह s9s बैकअप है। इसका उपयोग ClusterControl CLI का उपयोग करके डेटाबेस बैकअप को देखने, बनाने या पुनर्स्थापित करने के लिए किया जाता है।

उपयोग

s9s बैकअप {विकल्प}

विकल्प कहां हैं:

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

उदाहरण

क्लस्टर आईडी 42 के लिए सभी बैकअप सूचीबद्ध करें:

यहां, आपको बैकअप को सूचीबद्ध करने के लिए क्लस्टर आईडी निर्दिष्ट करने की आवश्यकता है। आप सभी समूहों में बनाए गए बैकअप को सूचीबद्ध करने के लिए इस पैरामीटर को छोड़ सकते हैं।

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

बैकअप आईडी 22 को क्लस्टर आईडी 42 पर पुनर्स्थापित करें:

इसके लिए, आपको क्लस्टर-आईडी निर्दिष्ट करना होगा जहां बैकअप को पुनर्स्थापित करना है, और बैकअप आईडी को पुनर्स्थापित करना है।

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

बनाए गए बैकअप सत्यापित करना

बैकअप आईडी द्वारा पहचाने गए दिए गए बैकअप को सत्यापित करने के लिए एक कार्य बनाएँ। कार्य दिए गए क्लस्टर के समान सेटिंग्स का उपयोग करके परीक्षण सर्वर पर डेटाबेस सॉफ़्टवेयर स्थापित करने का प्रयास करेगा, फिर इस परीक्षण सर्वर पर बैकअप को पुनर्स्थापित करेगा। बैकअप सफलतापूर्वक बहाल होने पर ही कार्य ठीक हो जाता है।

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

यदि सब कुछ ठीक रहा, तो आप देखेंगे:

बैकअप 26 सफलतापूर्वक सत्यापित किया गया था।

निष्कर्ष

जैसा कि आप देख सकते हैं, बस एक साधारण कमांड चलाकर, आप ClusterControl CLI का उपयोग करके अपने बैकअप को आसान तरीके से जांच सकते हैं, पुनर्स्थापित कर सकते हैं या सत्यापित भी कर सकते हैं।

ClusterControl CLI और इसके उपयोग के बारे में अधिक जानकारी के लिए, आप आधिकारिक दस्तावेज़ीकरण का पालन कर सकते हैं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. किसी फ़ील्ड में PostgreSQL अनुक्रम बनाना (जो रिकॉर्ड की आईडी नहीं है)

  2. किसी तालिका या दृश्य के लिए आश्रित वस्तुओं का पता लगाएं

  3. मैं जावा का उपयोग करके PostgreSQL डेटाबेस में मौजूदा डेटाबेस से नई XML फ़ाइल कैसे बना सकता हूं?

  4. Psql स्क्रिप्ट चलाते समय जानकारी संदेशों को कैसे दबाएं?

  5. कैसे टैंड () PostgreSQL में काम करता है