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.sqlFor at komprimere SQL backup-filen med gzip-værktøjet, brug denne kommando:
gzip $BACKUP_DIR/$DB_NAME-$DATE.sqlFor 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 -deleteGem 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.shDet fejlfrie output betyder, at udførelsen af kommandoen er vellykket:
Kør scriptet ved hjælp af denne bash-kommando:
sudo bash backup.shIndtast 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 -eIndstil 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.shGem 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.shCrontab 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.