Hvordan du automatisk tar sikkerhetskopi av mysql -databasen ved hjelp av bash -skript

Hvordan du automatisk tar sikkerhetskopi av mysql -databasen ved hjelp av bash -skript
MySQL er en populær RDBMS som hjelper til med å lagre og administrere relasjonsdatabaser uanstrengt. Det gir også mysqldump klientverktøy for å lage en logisk sikkerhetskopi av MySQL -databaser. MySQL støtter flere språk og plattformer, noe som betyr at du kan bruke bash -skript for å bruke MySQLDump -verktøyet til sikkerhetskopier i Linux.

Denne guiden vil demonstrere hvordan du automatisk kan sikkerhetskopiere MySQL-databaser ved hjelp av bash-skript, trinn for trinn.

Hvordan du automatisk tar sikkerhetskopi av mysql -databasen ved hjelp av bash -skript?

Lag et bash -skript for sikkerhetskopi av MySQL -databasen. For det første åpner du terminalen, oppretter en katalog og navigerer til katalogen ved å skrive disse kommandoene:

mkdir mysqlbackup
cd mysqlbackup/

Utgangen viser at du har navigert til katalogen:

Lag et bash -skript som heter “Sikkerhetskopi.sh”Bruke hvilken som helst redaktør, for dette innlegget Nano Editor blir brukt:

Nano -sikkerhetskopi.sh

Bash -skriptet vil lage:

Oppgi MySQL -legitimasjon og navnet på databasen du vil ta sikkerhetskopi:

Db_user = "brukernavn"
Db_pass = "passord"
Db_name = "Database-name"

Angi sikkerhetskopikatalogen "Backup_dir”Ved å oppgi stedet der sikkerhetskopifilen skal lagre:

Backup_dir = "/sti/to/your/backup/katalog"

Angi datoformatet for navnet på sikkerhetskopifilen:

Dato = $ (dato +"%y-%m-%d_%h-%m-%s")

Bruk denne MySQLDump -kommandoen med MySQL -databaseopplysning for å opprette SQL -sikkerhetskopifilen:

mysqldump --bruker = $ db_user --password = $ db_pass $ db_name> $ backup_dir/$ db_name- $ dato.SQL

For å komprimere SQL -sikkerhetskopifilen med GZIP -verktøyet, bruk denne kommandoen:

gzip $ backup_dir/$ db_name- $ date.SQL

For å lagre diskplassen, fjern de gamle sikkerhetskopifilene etter en tidsperiode, for denne perioden “7”Dager gammel sikkerhetskopifil vil bli fjernet ved hjelp av denne kommandoen:

finn $ backup_dir -type f -navn "*.GZ "-Mtime +7 -Delete

Lagre filen og avslutt Nano Editor av Press “Ctrl + x”Nøkler:

Endre tillatelsene til Bash -skriptet til kjørbare ved å kjøre denne kommandoen:

CHMOD +X -sikkerhetskopi.sh

Den feilfrie utgangen betyr at utførelsen av kommandoen er vellykket:

Kjør manuset ved hjelp av denne bash -kommandoen:

Sudo Bash Backup.sh

Skriv inn passordet til Ubuntu og bruk "ls”Kommando for å bekrefte om sikkerhetskopifilen er opprettet eller ikke:

Backup -filen opprettes med suksess ved hjelp av bash -skriptet. Nå for å automatisere prosessen med sikkerhetskopiering ved å bruke "Cron”Jobbplanleggingsverktøy. For å sende inn en ny Cron -jobb, bruk "-e”Alternativ med crontab:

crontab -e

Angi tiden for automatisk å kjøre bashskriptet. For dette innlegget, “KLOKKA 2 PÅ NATTA”Er valgt for å kjøre skriptet automatisk:

0 2 * * */sti/til/backup_mysql.sh

Lagre og avslutte filen:

La oss se en annen kommando hvis du vil ta sikkerhetskopi av databasen din etter hver "5 minutter”Skriv dette og lagre filen:

*/5 * * * */sti/til/backup_mysql.sh

Crontab vil ta litt tid å lage jobben med hell:

Sjekk katalogen for sikkerhetskopieringsfiler som automatisk opprettes etter "KLOKKA 2 PÅ NATTA", bruker "ls”Kommando:

MySQL Database Backup -filer opprettes automatisk ved hjelp av Bash -skriptet og CRON -verktøyet.

Konklusjon

Lag et bash -skript ved å tilby MySQL -legitimasjon og navnet på databasen du vil sikkerhetskopiere og filnavnformatet. Bruk MySqlDump -kommandoen for å lage sikkerhetskopi av SQL -filen, Gzip for å komprimere den og kjøre skriptet. Bruk crontab for å gjøre prosessen med sikkerhetskopiering automatisk. Dette innlegget diskuterte hvordan du sikkerhetskopierer en MySQL -database ved å bruke Bash -skriptet automatisk.