Cum să faceți backup automat al bazei de date MySQL utilizând scriptul Bash

Cum Sa Faceti Backup Automat Al Bazei De Date Mysql Utilizand Scriptul Bash



MySQL este un RDBMS popular care ajută la stocarea și gestionarea bazelor de date relaționale fără efort. De asemenea, oferă utilitarul client mysqldump pentru a crea o copie de rezervă logică a bazelor de date MySQL. MySQL acceptă mai multe limbi și platforme, ceea ce înseamnă că puteți utiliza scriptingul Bash pentru a utiliza utilitarul mysqldump pentru copii de rezervă în Linux.

Acest ghid va demonstra pas cu pas cum se face backup automat pentru bazele de date MySQL folosind scriptul Bash.

Cum se face backup automat al bazei de date MySQL folosind scriptul Bash?

Creați un script Bash pentru copierea de rezervă a bazei de date MySQL. Mai întâi, deschideți terminalul, creați un director și navigați la director tastând aceste comenzi:







mkdir mysqlbackup

cd mysqlbackup/

Rezultatul afișează că ați navigat cu succes la directorul:





Creați un script bash numit „ backup.sh ” folosind orice editor, pentru această postare se folosește editorul nano:





nano backup.sh

Scriptul bash va crea:



Furnizați acreditările MySQL și numele bazei de date pentru care doriți să faceți backup:

DB_USER='nume utilizator'

DB_PASS='parolă'

DB_

Setați directorul de backup „ BACKUP_DIR ” prin furnizarea locației în care ar trebui să salveze fișierul de rezervă:

BACKUP_DIR='/path/to/your/backup/directory'

Setați formatul de dată pentru numele fișierului de rezervă:

DATA=$(data +'%Y-%m-%d_%H-%M-%S')

Utilizați această comandă mysqldump cu acreditările bazei de date MySQL pentru a crea fișierul de rezervă SQL:

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

Pentru a comprima fișierul de rezervă SQL cu instrumentul gzip, utilizați această comandă:

gzip $BACKUP_DIR/$DB_NAME-$DATE.sql

Pentru a economisi spațiu pe disc, eliminați vechile fișiere de rezervă după o perioadă de timp, pentru această perioadă „ 7 „Fișierul de rezervă vechi de zile va fi eliminat folosind această comandă:

găsi $BACKUP_DIR -type f -name '*.gz' -mtime +7 -delete

Salvați fișierul și ieșiți din editorul nano apăsând „ CTRL + X tastele ”:

Schimbați permisiunile scriptului bash în executabil rulând această comandă:

chmod +x backup.sh

Ieșirea fără erori înseamnă că executarea comenzii este cu succes:

Rulați scriptul folosind această comandă bash:

sudo bash backup.sh

Introdu parola Ubuntu și folosește „ ls ” pentru a verifica dacă fișierul de rezervă este creat sau nu:

Fișierul de rezervă este creat cu succes utilizând scriptul bash. Acum, pentru a automatiza procesul de backup utilizând „ cron ” utilitar de planificare a locurilor de muncă. Pentru a trimite un nou job cron, utilizați „ -Este ” opțiunea cu crontab:

crontab -e

Setați ora pentru rularea automată a scriptului bash. Pentru această postare, „ 2 AM ” este selectat pentru rularea automată a scriptului:

0 2 * * * /path/to/backup_mysql.sh

Salvați și ieșiți din fișier:

Să vedem o altă comandă dacă doriți să faceți backup bazei de date după fiecare „ 5 minute ” tastați asta și salvați fișierul:

*/5 * * * * /path/to/backup_mysql.sh

Crontab va dura ceva timp pentru a crea jobul cu succes:

Verificați directorul pentru fișierele de rezervă care sunt create automat după „ 2 AM ”, folosind „ ls ”comandă:

Fișierele de rezervă ale bazei de date MySQL sunt create automat utilizând scriptul bash și utilitarul cron.

Concluzie

Creați un script bash furnizând acreditările MySQL și numele bazei de date pe care doriți să o faceți backup și formatul numelui fișierului. Utilizați comanda mysqldump pentru a crea fișierul SQL de rezervă, gzip pentru a-l comprima și rulați scriptul. Utilizați crontab pentru a automatiza procesul de backup. Această postare a discutat despre cum să faci o copie de rezervă a unei baze de date MySQL utilizând automat scriptul Bash.