Varmuuskopioi useita MySQL- tai MariaDB-tietokantoja automaattisesti

Johdanto

Tässä kirjoituksessa käydään läpi, kuinka varmuuskopioidaan useita MySQL- tai MariaDB-tietokantoja, jotka sijaitsevat samassa koneessa mukautetun bash-komentosarjan avulla ja määritetään cron-työ.

Tietokannan varmuuskopio(t)

Oletetaan, että meillä on kolme MySQL-tietokantaa Vultr-esiintymässämme nimeltä db-vultr-site , db-vultr-blog , db-vultr-app (älä huolehdi näiden tietokantojen luomisesta, voit korvata niiden nimet jos niitä käytetään alla olevan vaiheen 2 skriptissä) .

  1. Kirjaudu MySQL- tai MariaDB-tietokantaan ja suorita alla oleva kysely luodaksesi tietokannan käyttäjä db_user_backupsvarmuuskopiointia varten

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

    Suorita myös alla varmistaaksesi, että MySQL on määritetty palauttamaan tallennetut toiminnot oikein

    SET GLOBAL log_bin_trust_function_creators = 1;
    
  2. Aseta välttämättömät hakemistorakenteet ja tarvittavat tiedostot

    # 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. Avaa db-backup.sh nano /backups/db-backup.shja liitä alla oleva koodi sen sisään ja tallenna tiedosto (Ctrl+X -> Y -> paina 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
    

    Yllä oleva koodi kiertää taulukkoa, jossa on varmuuskopioitavan tietokannan nimi (nimiä), ja tekee niin.

Cronjob-asetukset

Määritä cronjob suoritettavaksi joka keskiyö, joka suorittaa varmuuskopioskriptin ja tallentaa tuloksen/tulosteen varmuuskopiointilokiin.

  1. Avaa crontab

    crontab -e
    
  2. Lisää alla oleva merkintä crontabiin

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

    Huomautus: Testauksen aikana voit asettaa cronjobin käymään minuutin välein alla olevan ohjeen sijaan

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

    -TAI- 5 minuutin välein (korvaa 5 haluamallasi minuuttimäärällä)

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

Mitä seuraavaksi

Et todennäköisesti halua varmuuskopioitasi samoilla palvelimilla, jotka käyttävät tietokantaasi, vaan palvelimella, joka sijaitsee eri maantieteellisessä paikassa. On olemassa useita tapoja tehdä tämä SFTP:stä aina lukuisten pilvitallennuspalvelujen tarjoajien mukautettujen työkalujen käyttämiseen. Yksi hyvä vaihtoehto on Rsync, kuten tässä selitetään - vultr.com/docs/setup-file-mirroring-using-rsync-in-debian-ubuntu

Käsikirjoitus Lami Adabonyan

Jätä kommentti

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja