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.sqlFör att komprimera SQL backup-filen med gzip-verktyget, använd det här kommandot:
gzip $BACKUP_DIR/$DB_NAME-$DATE.sqlFö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 -deleteSpara 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.shDen felfria utgången betyder att exekveringen av kommandot är framgångsrik:
Kör skriptet med detta bash-kommando:
sudo bash backup.shSkriv 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 -eStä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.shSpara 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.shCrontab 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.