Hur man automatiskt säkerhetskopierar MySQL-databas med Bash-skript

Hur Man Automatiskt Sakerhetskopierar Mysql Databas Med Bash Skript



MySQL är ett populärt RDBMS som hjälper till att lagra och hantera relationsdatabaser utan ansträngning. Det tillhandahåller också mysqldump-klientverktyg för att skapa en logisk säkerhetskopia av MySQL-databaser. MySQL stöder flera språk och plattformar, vilket innebär att du kan använda Bash-skript för att använda mysqldump-verktyget för säkerhetskopiering i Linux.

Denna guide kommer att demonstrera hur man automatiskt säkerhetskopierar MySQL-databaser med Bash-skript, steg för steg.

Hur säkerhetskopierar man MySQL-databas automatiskt med Bash-skript?

Skapa ett Bash-skript för säkerhetskopiering av MySQL-databasen. Öppna först terminalen, skapa en katalog och navigera till katalogen genom att skriva dessa kommandon:







mkdir mysqlbackup

cd mysqlbackup/

Utdata visar att du framgångsrikt har navigerat till katalogen:





Skapa ett bash-skript som heter ' backup.sh ' med valfri redigerare, för detta inlägg används nanoredigerare:





nano backup.sh

Bash-skriptet kommer att skapa:



Ange MySQL-uppgifterna och namnet på databasen som du vill säkerhetskopiera:

DB_USER='användarnamn'

DB_PASS='lösenord'

DB_

Ställ in säkerhetskopieringskatalogen ' BACKUP_DIR ' genom att ange platsen där säkerhetskopian ska sparas:

BACKUP_DIR='/sökväg/till/din/backup/katalog'

Ställ in datumformatet för namnet på säkerhetskopian:

DATUM=$(datum +'%Y-%m-%d_%H-%M-%S')

Använd det här mysqldump-kommandot med MySQL-databasuppgifter för att skapa SQL-backupfilen:

mysqldump --user=$DB_USER --lösenord=$DB_PASS $DB_NAME > $BACKUP_DIR/$DB_NAME-$DATE.sql

För att komprimera SQL backup-filen med gzip-verktyget, använd det här kommandot:

gzip $BACKUP_DIR/$DB_NAME-$DATE.sql

För att spara diskutrymme, ta bort de gamla säkerhetskopiorna efter en tidsperiod, för denna period ' 7 ” dagar gammal säkerhetskopia tas bort med detta kommando:

hitta $BACKUP_DIR -typ f -namn '*.gz' -mtime +7 -delete

Spara filen och avsluta nanoredigeraren genom att trycka på ' CTRL + X '-tangenter:

Ändra behörigheterna för bash-skriptet till körbart genom att köra det här kommandot:

chmod +x backup.sh

Den felfria utgången betyder att exekveringen av kommandot är framgångsrik:

Kör skriptet med detta bash-kommando:

sudo bash backup.sh

Skriv lösenordet för Ubuntu och använd ' ls ” kommando för att verifiera om säkerhetskopian skapas eller inte:

Säkerhetskopieringsfilen skapades framgångsrikt med bash-skriptet. Nu för att automatisera processen för säkerhetskopiering genom att använda ' cron ” jobbschemaläggare. För att skicka in ett nytt cron-jobb använd ' -Det är ' alternativ med crontab:

crontab -e

Ställ in tiden för automatisk körning av bash-skriptet. För detta inlägg, ' 2 PÅ MORGONEN ' väljs för att köra skriptet automatiskt:

0 2 * * * /sökväg/till/backup_mysql.sh

Spara och avsluta filen:

Låt oss se ett annat kommando om du vill säkerhetskopiera din databas efter varje ' 5 minuter ' skriv detta och spara filen:

*/5 * * * * /sökväg/till/backup_mysql.sh

Crontab kommer att ta lite tid att skapa jobbet framgångsrikt:

Kontrollera katalogen för säkerhetskopior som skapas automatiskt efter ' 2 PÅ MORGONEN ', använda ' ls ” kommando:

MySQL-databassäkerhetskopieringsfilerna skapas automatiskt med bash-skriptet och cron-verktyget.

Slutsats

Skapa ett bash-skript genom att tillhandahålla MySQL-referenser och namnet på databasen som du vill säkerhetskopiera och filnamnsformatet. Använd kommandot mysqldump för att skapa backup-SQL-filen, gzip för att komprimera den och kör skriptet. Använd crontab för att göra processen för säkerhetskopiering automatisk. Det här inlägget diskuterade hur man säkerhetskopierar en MySQL-databas med Bash-skript automatiskt.