Automatiškai kurkite atsargines kelių MySQL arba MariaDB duomenų bazes

Įvadas

Šiame rašte apžvelgsime, kaip sukurti kelių MySQL arba MariaDB duomenų bazių, esančių tame pačiame kompiuteryje, atsargines kopijas naudojant pasirinktinį bash scenarijų ir nustatyti cron užduotį.

Duomenų bazės atsarginė kopija (-os)

Tarkime, kad mūsų Vultr egzemplioriuje yra trys MySQL duomenų bazės, pavadintos db-vultr-site , db-vultr-blog , db-vultr-app (Nesijaudinkite kurdami šias duomenų bazes, galėsite pakeisti jų pavadinimus jūsų atveju, jei jie naudojami scenarijuje toliau pateiktame 2 veiksme) .

  1. Prisijunkite prie savo MySQL arba MariaDB duomenų bazės ir vykdykite žemiau pateiktą užklausą, kad sukurtumėte duomenų bazės vartotoją, db_user_backupskuris tvarkytų atsargines kopijas

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

    Taip pat paleiskite toliau, kad įsitikintumėte, jog MySQL sukonfigūruotas tinkamai atkurti išsaugotas procedūras

    SET GLOBAL log_bin_trust_function_creators = 1;
    
  2. Nustatykite būtinai katalogo struktūrą ir reikalingus failus

    # 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. Atidarykite db-backup.sh nano /backups/db-backup.shir įklijuokite žemiau esantį kodą į jį, tada išsaugokite failą (Ctrl+X -> Y -> paspauskite 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
    

    Aukščiau pateiktas kodas eina per masyvą su duomenų bazės (-ių), kurios (-ių) norite sukurti atsarginę kopiją, pavadinimu (-iais), ir tai daro.

„Cronjob“ sąranka

Nustatykite cronjob, kad jis būtų paleistas kiekvieną vidurnaktį, kuris paleidžia atsarginį scenarijų ir išsaugo rezultatą / išvestį atsarginės kopijos žurnale.

  1. Atidarykite crontab

    crontab -e
    
  2. Pridėkite žemiau esantį įrašą prie crontab

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

    Pastaba: bandydami galite nustatyti, kad cronjob būtų paleistas kas 1 minutę, kaip nurodyta toliau

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

    -ARBA- kas 5 minutes (5 pakeiskite norimu minučių skaičiumi)

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

Kas toliau

Tikėtina, kad atsarginės (-ių) kopijos (-ių) nereikės tame pačiame (-iuose) serveryje (-iuose), kuriame (-iuose) veikia jūsų duomenų bazė (-ės), o serveryje, esančiame kitoje geografinėje vietoje. Tai galima padaryti keliais būdais, pradedant SFTP ir baigiant pasirinktiniais įrankiais, kuriuos teikia daugybė debesies saugyklos teikėjų. Viena gera alternatyva yra Rsync, kaip paaiškinta čia – vultr.com/docs/setup-file-mirroring-using-rsync-in-debian-ubuntu

Parašė Lami Adabonyan

Palikti komentarą

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį