Kaip automatiškai sukurti atsarginę MySQL duomenų bazės kopiją naudojant „Bash Script“.

Kaip Automatiskai Sukurti Atsargine Mysql Duomenu Bazes Kopija Naudojant Bash Script



MySQL yra populiari RDBVS, padedanti lengvai saugoti ir valdyti reliacines duomenų bazes. Ji taip pat teikia mysqldump kliento įrankį, leidžiantį sukurti loginę MySQL duomenų bazių atsarginę kopiją. „MySQL“ palaiko kelias kalbas ir platformas, o tai reiškia, kad galite naudoti „Bash“ scenarijus, norėdami naudoti „mysqldump“ įrankį atsarginėms kopijoms „Linux“.

Šiame vadove žingsnis po žingsnio bus parodyta, kaip automatiškai sukurti atsargines MySQL duomenų bazių kopijas naudojant Bash scenarijų.

Kaip automatiškai sukurti atsarginę MySQL duomenų bazės kopiją naudojant „Bash Script“?

Sukurkite „Bash“ scenarijų MySQL duomenų bazės atsarginei kopijai kurti. Pirmiausia atidarykite terminalą, sukurkite katalogą ir eikite į katalogą įvesdami šias komandas:







mkdir mysqlbackup

cd mysqlbackup/

Išvestis rodo, kad sėkmingai nuėjote į katalogą:





Sukurkite bash scenarijų pavadinimu ' atsarginė kopija.sh “ naudojant bet kurį redaktorių, šiam įrašui naudojamas nano redaktorius:





nano atsarginė kopija.sh

Bash scenarijus sukurs:



Pateikite MySQL kredencialus ir duomenų bazės, kurios atsarginę kopiją norite sukurti, pavadinimą:

DB_USER='naudotojo vardas'

DB_PASS='slaptažodis'

DB_

Nustatykite atsarginės kopijos katalogą ' BACKUP_DIR “, nurodydami vietą, kurioje turėtų būti išsaugotas atsarginės kopijos failas:

BACKUP_DIR='/kelias/į/jūsų/atsarginė kopija/katalogas'

Nustatykite atsarginės kopijos failo pavadinimo datos formatą:

DATE=$(data +'%Y-%m-%d_%H-%M-%S')

Norėdami sukurti SQL atsarginės kopijos failą, naudokite šią komandą mysqldump su MySQL duomenų bazės kredencialais:

mysqldump --user=$DB_USER --password=$DB_PASS $DB_NAME > $BACKUP_DIR/$DB_NAME-$DATE.sql

Norėdami suspausti SQL atsarginės kopijos failą naudodami gzip įrankį, naudokite šią komandą:

gzip $BACKUP_DIR/$DB_NAME-$DATE.sql

Norėdami sutaupyti vietos diske, po tam tikro laikotarpio pašalinkite senas atsargines kopijas šiam laikotarpiui ' 7 “ dienų senumo atsarginės kopijos failas bus pašalintas naudojant šią komandą:

rasti $BACKUP_DIR -type f -name '*.gz' -mtime +7 -delete

Išsaugokite failą ir išeikite iš nano redaktoriaus paspausdami „ CTRL + X ' raktai:

Pakeiskite bash scenarijaus leidimus į vykdomąjį paleisdami šią komandą:

chmod +x atsarginė kopija.sh

Išvestis be klaidų reiškia, kad komandos vykdymas yra sėkmingas:

Paleiskite scenarijų naudodami šią bash komandą:

sudo bash backup.sh

Įveskite Ubuntu slaptažodį ir naudokite „ ls “ komanda, kad patikrintų, ar atsarginės kopijos failas sukurtas, ar ne:

Atsarginės kopijos failas sėkmingai sukurtas naudojant bash scenarijų. Dabar norėdami automatizuoti atsarginės kopijos kūrimo procesą naudodami „ cron “ darbo planavimo įrankis. Norėdami pateikti naują cron užduotį, naudokite „ -Tai yra “ parinktis su crontab:

crontab -e

Nustatykite automatinio bash scenarijaus paleidimo laiką. Šiam įrašui „ 2 val “ yra pasirinktas, kad scenarijus būtų paleistas automatiškai:

0 2 * * * /path/to/backup_mysql.sh

Išsaugokite ir išeikite iš failo:

Pažiūrėkime kitą komandą, jei norite sukurti atsarginę duomenų bazės kopiją po kiekvieno „ 5 minutės “ įveskite šį tekstą ir išsaugokite failą:

*/5 * * * * /path/to/backup_mysql.sh

„Crontab“ užtruks šiek tiek laiko, kol bus sėkmingai sukurta užduotis:

Patikrinkite katalogą, ar nėra atsarginių failų, kurie automatiškai sukuriami po „ 2 val ', naudojant ' ls “ komanda:

MySQL duomenų bazės atsarginės kopijos failai sukuriami automatiškai, naudojant bash scenarijų ir cron įrankį.

Išvada

Sukurkite bash scenarijų pateikdami MySQL kredencialus ir duomenų bazės, kurios atsarginę kopiją norite sukurti, pavadinimą ir failo pavadinimo formatą. Naudokite komandą mysqldump, kad sukurtumėte atsarginę SQL failo kopiją, gzip jį suglaudintumėte ir paleiskite scenarijų. Naudokite crontab, kad atsarginės kopijos kūrimo procesas būtų automatinis. Šiame įraše buvo aptarta, kaip automatiškai sukurti atsarginę MySQL duomenų bazės kopiją naudojant Bash scenarijų.