Δημιουργία αντιγράφων ασφαλείας πολλαπλών βάσεων δεδομένων MySQL ή MariaDB αυτόματα

Εισαγωγή

Σε αυτήν τη σύνταξη, θα δούμε πώς μπορείτε να δημιουργήσετε αντίγραφα ασφαλείας πολλών βάσεων δεδομένων MySQL ή MariaDB που βρίσκονται στον ίδιο υπολογιστή χρησιμοποιώντας ένα προσαρμοσμένο σενάριο bash και ρυθμίζοντας μια εργασία cron.

Αντίγραφα ασφαλείας βάσεων δεδομένων

Θα υποθέσουμε ότι έχουμε τρεις βάσεις δεδομένων MySQL στο στιγμιότυπο Vultr που ονομάζονται db-vultr-site , db-vultr-blog , db-vultr-app (Μην ανησυχείτε για τη δημιουργία αυτών των βάσεων δεδομένων, θα μπορείτε να αντικαταστήσετε τα ονόματά τους για το δικό σας όπου χρησιμοποιούνται στο σενάριο στο Βήμα 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
    

    Ο παραπάνω κώδικας περιστρέφεται μέσω ενός πίνακα με τα ονόματα των βάσεων δεδομένων που θέλετε να δημιουργήσετε αντίγραφα ασφαλείας και το κάνετε.

Ρύθμιση Cronjob

Ρυθμίστε ένα cronjob για εκτέλεση κάθε μεσάνυχτα που εκτελεί το σενάριο δημιουργίας αντιγράφων ασφαλείας και αποθηκεύει το αποτέλεσμα/την έξοδο στο αρχείο καταγραφής αντιγράφων ασφαλείας.

  1. Ανοίξτε το ρολόι

    crontab -e
    
  2. Προσθέστε παρακάτω την καταχώριση στο crontab

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

    Σημείωση: Κατά τη διάρκεια της δοκιμής, μπορείτε να ρυθμίσετε το cronjob να εκτελείται κάθε 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 έως τη χρήση προσαρμοσμένων εργαλείων που παρέχονται από τους μυριάδες παρόχους αποθήκευσης cloud που είναι διαθέσιμοι εκεί έξω. Μια καλή εναλλακτική είναι το Rsync όπως εξηγείται εδώ - vultr.com/docs/setup-file-mirroring-using-rsync-in-debian-ubuntu

Σε σενάριο Lami Adabonyan

Αφήστε ένα σχόλιο

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα