Paano Awtomatikong I-backup ang MySQL Database Gamit ang Bash Script

Paano Awtomatikong I Backup Ang Mysql Database Gamit Ang Bash Script



Ang MySQL ay isang tanyag na RDBMS na tumutulong sa pag-iimbak at pamamahala ng mga relational database nang walang kahirap-hirap. Nagbibigay din ito ng mysqldump client utility upang lumikha ng lohikal na backup ng MySQL database. Sinusuportahan ng MySQL ang maraming wika at platform, na nangangahulugang maaari mong gamitin ang Bash scripting upang magamit ang mysqldump utility para sa mga backup sa Linux.

Ipapakita ng gabay na ito kung paano awtomatikong i-back up ang mga database ng MySQL gamit ang Bash script, sunud-sunod.

Paano Awtomatikong I-backup ang MySQL Database Gamit ang Bash Script?

Gumawa ng Bash script para sa backup ng MySQL database. Una, buksan ang terminal, lumikha ng isang direktoryo, at mag-navigate sa direktoryo sa pamamagitan ng pag-type ng mga utos na ito:







mkdir mysqlbackup

cd mysqlbackup/

Ipinapakita ng output na matagumpay mong na-navigate sa direktoryo:





Gumawa ng bash script na pinangalanang ' backup.sh ' gamit ang anumang editor, para sa post na ito nano editor ay ginagamit:





nano backup.sh

Ang bash script ay lilikha ng:



Ibigay ang mga kredensyal ng MySQL at ang pangalan ng database na gusto mong i-backup:

DB_USER='username'

DB_PASS='password'

DB_

Itakda ang Backup na direktoryo ' BACKUP_DIR ” sa pamamagitan ng pagbibigay ng lokasyon kung saan dapat i-save ang backup file:

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

Itakda ang format ng petsa para sa pangalan ng backup na file:

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

Gamitin ang mysqldump command na ito na may mga kredensyal sa database ng MySQL upang lumikha ng SQL backup file:

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

Upang i-compress ang SQL backup file gamit ang gzip tool, gamitin ang command na ito:

gzip $BACKUP_DIR/$DB_NAME-$DATE.sql

Upang i-save ang puwang sa disk, alisin ang mga lumang backup na file pagkatapos ng isang yugto ng panahon, para sa panahong ito ' 7 ” araw na lumang backup na file ay aalisin gamit ang command na ito:

hanapin ang $BACKUP_DIR -type f -name '*.gz' -mtime +7 -delete

I-save ang file at lumabas sa nano editor sa pamamagitan ng pindutin ang ' CTRL + X ' mga susi:

Baguhin ang mga pahintulot ng bash script sa executable sa pamamagitan ng pagpapatakbo ng command na ito:

chmod +x backup.sh

Ang error-free na output ay nangangahulugan na ang pagpapatupad ng command ay matagumpay:

Patakbuhin ang script gamit ang bash command na ito:

sudo bash backup.sh

I-type ang password ng Ubuntu at gamitin ang “ ls ” utos upang i-verify kung ang backup na file ay nilikha o hindi:

Matagumpay na nagawa ang backup file gamit ang bash script. Ngayon upang i-automate ang proseso ng backup sa pamamagitan ng paggamit ng “ cron ” utility sa scheduler ng trabaho. Para magsumite ng bagong cron job gamitin ang “ -Ito ay ” opsyon na may crontab:

crontab -e

Itakda ang oras para sa awtomatikong pagpapatakbo ng bash script. Para sa post na ito, ' 2 AM ” ay pinili para sa awtomatikong pagpapatakbo ng script:

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

I-save at lumabas sa file:

Tingnan natin ang isa pang command kung gusto mong i-backup ang iyong database pagkatapos ng bawat ' 5 Minuto ” i-type ito at i-save ang file:

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

Magtatagal ang crontab upang matagumpay na magawa ang trabaho:

Suriin ang direktoryo para sa mga backup na file na awtomatikong nilikha pagkatapos ng ' 2 AM ', gamit ang ' ls ” utos:

Ang MySQL database backup file ay awtomatikong nilikha gamit ang bash script at cron utility.

Konklusyon

Gumawa ng bash script sa pamamagitan ng pagbibigay ng mga kredensyal sa MySQL at ang pangalan ng database na gusto mong i-back up at ang format ng pangalan ng file. Gamitin ang mysqldump command para sa paggawa ng backup na SQL file, gzip para i-compress ito, at patakbuhin ang script. Gamitin ang crontab para gawing awtomatiko ang proseso ng backup. Tinalakay ng post na ito kung paano mag-back up ng MySQL database gamit ang Bash script nang awtomatiko.