बैकअप एकाधिक MySQL या MariaDB डेटाबेस स्वचालित रूप से

परिचय

इस राइट-अप में, हम एक से अधिक MySQL या MariaDB डेटाबेस का बैकअप लेंगे, जो कस्टम बैश स्क्रिप्ट का उपयोग करके एक ही मशीन पर बैठते हैं और क्रॉन जॉब सेट करते हैं।

डेटाबेस बैकअप

हम मानेंगे कि हमारे पास हमारे Vultr इंस्टेंस पर db-vultr-site , db-vultr-blog , db-vultr-app नाम के तीन MySQL डेटाबेस हैं (इन डेटाबेस को बनाने की चिंता न करें, आप इन नामों को स्थानापन्न कर पाएंगे। तुम्हारे लिए वे नीचे चरण 2 पर स्क्रिप्ट में उपयोग किया जाता है)

  1. अपने MySQL या MariaDB डेटाबेस पर लॉग ऑन करें और db_user_backupsबैकअप को संभालने के लिए डेटाबेस उपयोगकर्ता बनाने के लिए क्वेरी से नीचे चलाएँ

    GRANT LOCK TABLES, SELECT, SHOW VIEW, REPLICATION CLIENT ON *.* TO 'db_user_backups'@'%' IDENTIFIED BY '{COMPLEX-PASSWORD}';
    

    यह सुनिश्चित करने के लिए कि MySQL संग्रहीत प्रक्रियाओं को ठीक से पुनर्स्थापित करने के लिए कॉन्फ़िगर किया गया है, नीचे भी चलाएँ

    SET GLOBAL log_bin_trust_function_creators = 1;
    
  2. आवश्यक निर्देशिका संरचना और आवश्यक फ़ाइलों को सेट करें

    # create backup directory with environment and log file
    sudo mkdir /backups && cd /backups
    sudo touch .env db-backup.sh db-backup.log
    sudo chmod -R 775 /backups
    sudo chmod -R g+s /backups
    sudo chmod +x db-backup.sh
    
    # add mysql backup user credentials into environment file
    echo "export MYSQL_USER=db_user_backups" > /backups/.env
    echo "export MYSQL_PASS={COMPLEX-PASSWORD}" >> /backups/.env
    
  3. Db-backup.sh खोलें nano /backups/db-backup.shऔर उसके नीचे दिए गए कोड को पेस्ट करें, फिर फ़ाइल (Ctrl + X -> Y -> Enter दर्ज करें) को सहेजें ।

    DB_NAMES=( 'db-vultr-site' 'db-vultr-blog' 'db-vultr-app' ) #replace with your own database name(s)
    BKUP_NAMES=()
    BKUP_DIR="/backups"
    
    # get total number of directories
    total_dbs=${#DB_NAMES[@]}
    
    # create backup file names
    for (( i=0; i<${total_dbs}; i++ )); do
        BKUP_NAMES[$i]="`date +%Y%m%d%H%M`-backup-$${DB_NAMES[$i]}.sql.gz"
    done
    
    # get backup users credentials
    source $BKUP_DIR/.env
    
    # create backups
    for (( i=0; i<${total_dbs}; i++ )); do
        # NOTE: --routines flag makes sure stored procedures are also backed up
        mysqldump --routines -u ${MYSQL_USER} -p${MYSQL_PASS} | gzip > ${BKUP_DIR}/${BKUP_NAMES[$i]}
    done
    

    ऊपर दिया गया कोड डेटाबेस के नाम (s) के साथ एक सरणी के माध्यम से लूप कर रहा है जिसे आप बैकअप करना चाहते हैं और ऐसा कर रहे हैं।

क्रोनजोब सेटअप

प्रत्येक मध्यरात्रि को चलाने के लिए एक क्रोनजॉब सेट करें जो बैकअप स्क्रिप्ट चलाता है और परिणाम / आउटपुट को बैकअप लॉग में सहेजता है।

  1. क्रेटाब खोलें

    crontab -e
    
  2. Crontab में नीचे प्रविष्टि जोड़ें

    0 0 * * * /usr/bin/env bash /backups/db-backup.sh &>> /backups/db-backup.log
    

    नोट: परीक्षण करते समय आप क्रोनजोब को नीचे की तरह हर 1 मिनट में चला सकते हैं

    * * * * * /usr/bin/env bash /backups/db-backup.sh &>> /backups/db-backup.log
    

    -ओआर - हर 5 मिनट (मिनट की संख्या के साथ 5 बदलें जो आप चाहते हैं)

    */5 * * * * /usr/bin/env bash /backups/db-backup.sh &>> /backups/db-backup.log
    

आगे क्या होगा

आप संभवतः अपने सर्वर (डेटाबेस) को चलाने के लिए एक ही सर्वर पर अपना बैकअप (ओं) को नहीं चाहेंगे, बल्कि एक अलग भौगोलिक स्थान में एक सर्वर पर। ऐसा करने के कई तरीके हैं, SFTP का उपयोग करने से लेकर, वहाँ उपलब्ध क्लाउड स्टोरेज प्रदाताओं के असंख्य कस्टम टूल का उपयोग करने तक। एक अच्छा विकल्प Rsync के रूप में यहाँ बताया गया है - vultr.com/docs/setup-file-mirroring-using-rsync-in-debian-ubuntu

लामी अदबोनियन द्वारा लिखित

एक टिप्पणी छोड़ें

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ