Còpia de seguretat de múltiples bases de dades MySQL o MariaDB automàticament

Introducció

En aquest escrit, explicarem com fer una còpia de seguretat de diverses bases de dades MySQL o MariaDB que es troben a la mateixa màquina mitjançant un script bash personalitzat i configurant un treball cron.

Còpia de seguretat de bases de dades

Suposarem que tenim tres bases de dades MySQL a la nostra instància de Vultr anomenades db-vultr-site , db-vultr-blog , db-vultr-app (no us preocupeu per crear aquestes bases de dades, podreu substituir-ne els noms). per al vostre, on s'utilitzen a l'script del pas 2 a continuació) .

  1. Inicieu sessió a la vostra base de dades MySQL o MariaDB i executeu la consulta a continuació per crear un usuari de base de dades db_user_backupsper gestionar les còpies de seguretat

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

    Executeu també a continuació per assegurar-vos que MySQL està configurat per restaurar correctament els procediments emmagatzemats

    SET GLOBAL log_bin_trust_function_creators = 1;
    
  2. Configureu l'estructura de directoris i els fitxers necessaris

    # 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. Obriu db-backup.sh nano /backups/db-backup.shi enganxeu el codi que hi ha a continuació i deseu el fitxer (Ctrl+X -> Y -> premeu 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
    

    El codi anterior està passant per una matriu amb els noms de les bases de dades de les quals voleu fer una còpia de seguretat i ho fa.

Configuració de cronjob

Configureu un cronjob per executar-se cada mitjanit que executi l'script de còpia de seguretat i desi el resultat/sortida al registre de còpia de seguretat.

  1. Obre crontab

    crontab -e
    
  2. Afegeix l'entrada a continuació a crontab

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

    Nota: durant la prova, podeu configurar cronjob perquè s'executi cada 1 minut, com a continuació

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

    -O- cada 5 minuts (substituïu 5 pel nombre de minuts que vulgueu)

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

Que segueix

Probablement no voldreu que les vostres còpies de seguretat siguin al mateix servidor que executin la vostra base de dades, sinó en un servidor en una ubicació geogràfica diferent. Hi ha diverses maneres de fer-ho, que van des de l'ús d'SFTP fins a l'ús d'eines personalitzades proporcionades per la infinitat de proveïdors d'emmagatzematge en núvol disponibles. Una bona alternativa és Rsync, tal com s'explica aquí: vultr.com/docs/setup-file-mirroring-using-rsync-in-debian-ubuntu

Escrit per Lami Adabonyan

Deixa un comentari

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació