Sådan sikkerhedskopieres MySQL-database automatisk ved hjælp af Bash Script

Sadan Sikkerhedskopieres Mysql Database Automatisk Ved Hjaelp Af Bash Script



MySQL er et populært RDBMS, der hjælper med at opbevare og administrere relationelle databaser ubesværet. Det giver også mysqldump-klientværktøj til at oprette en logisk sikkerhedskopi af MySQL-databaser. MySQL understøtter flere sprog og platforme, hvilket betyder, at du kan bruge Bash-scripting til at bruge mysqldump-værktøjet til sikkerhedskopiering i Linux.

Denne guide vil demonstrere, hvordan du automatisk sikkerhedskopierer MySQL-databaser ved hjælp af Bash-script, trin-for-trin.

Sådan sikkerhedskopieres MySQL-database automatisk ved hjælp af Bash Script?

Opret et Bash-script til backup af MySQL-databasen. Åbn først terminalen, opret en mappe og naviger til mappen ved at skrive disse kommandoer:







mkdir mysqlbackup

cd mysqlbackup/

Outputtet viser, at du med succes har navigeret til biblioteket:





Opret et bash-script med navnet ' backup.sh ' ved at bruge en hvilken som helst editor, til dette indlæg bruges nano editor:





nano backup.sh

Bash-scriptet vil skabe:



Angiv MySQL-legitimationsoplysningerne og navnet på den database, du vil sikkerhedskopiere:

DB_USER='brugernavn'

DB_PASS='adgangskode'

DB_

Indstil backup-mappen ' BACKUP_DIR ” ved at angive den placering, hvor backupfilen skal gemme:

BACKUP_DIR='/sti/til/din/backup/mappe'

Indstil datoformatet for navnet på backupfilen:

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

Brug denne mysqldump-kommando med MySQL-databaselegitimationsoplysninger til at oprette SQL backup-filen:

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

For at komprimere SQL backup-filen med gzip-værktøjet, brug denne kommando:

gzip $BACKUP_DIR/$DB_NAME-$DATE.sql

For at spare diskplads skal du fjerne de gamle sikkerhedskopifiler efter en tidsperiode, for denne periode ' 7 ” dage gammel backup-fil vil blive fjernet ved hjælp af denne kommando:

find $BACKUP_DIR -type f -navn '*.gz' -mtime +7 -delete

Gem filen og forlad nano-editoren ved at trykke på ' CTRL + X ”-taster:

Skift tilladelserne for bash-scriptet til eksekverbar ved at køre denne kommando:

chmod +x backup.sh

Det fejlfrie output betyder, at udførelsen af ​​kommandoen er vellykket:

Kør scriptet ved hjælp af denne bash-kommando:

sudo bash backup.sh

Indtast adgangskoden til Ubuntu og brug ' ls ” kommando for at bekræfte, om sikkerhedskopifilen er oprettet eller ej:

Sikkerhedskopieringsfilen er oprettet ved hjælp af bash-scriptet. Nu for at automatisere processen med backup ved at bruge ' cron ” jobplanlægningsværktøj. For at indsende et nyt cron job, brug ' -Det er ' mulighed med crontab:

crontab -e

Indstil tidspunktet for automatisk at køre bash-scriptet. Til dette indlæg, ' 02.00 ' er valgt til at køre scriptet automatisk:

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

Gem og afslut filen:

Lad os se en anden kommando, hvis du vil sikkerhedskopiere din database efter hver ' 5 minutter ' skriv dette og gem filen:

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

Crontab vil tage noget tid at oprette jobbet med succes:

Tjek mappen for sikkerhedskopifiler, der automatisk oprettes efter ' 02.00 ', bruger ' ls kommando:

MySQL-databasens backupfiler oprettes automatisk ved hjælp af bash-scriptet og cron-værktøjet.

Konklusion

Opret et bash-script ved at give MySQL-legitimationsoplysninger og navnet på den database, du vil sikkerhedskopiere, og filnavnsformatet. Brug mysqldump-kommandoen til at oprette backup-SQL-filen, gzip for at komprimere den, og kør scriptet. Brug crontab til at gøre processen med backup automatisk. Dette indlæg diskuterede, hvordan man automatisk sikkerhedskopierer en MySQL-database ved hjælp af Bash-script.