ສະບາຍດີຜູ້ອ່ານທຸກຄົນມື້ນີ້ຈະມາແນະນຳການເຮັດ Automated mysql backup ແບບງ່າຍໆແຕ່ໄດ້ຜົນດີ ແລະ ຊ່ວຍຊີວິດບັນດາ Dveloper ທັງຫຼາຍໄດ້ຍາມເມື່ອ database ເກີດມີບັນຫາຂຶ້ນມາເຮົາກໍ່ສາມາດເອົາ backup ນີ້ໄປ restore ກູ້ຂໍ້ມູນຂຶ້ນມາຢ່າງງ່າຍ ແລະ ທັນການ ວ່າແລ້ວກໍ່ໄປເບິ່ງກັນເລີຍຍຍຍ. (ສຳລັບບົດຄວາມນີ້ແມ່ນທົດສອບຢູ່ Ubuntu 20.04)
ໃຊ້ງານ mysqlbkup
mysqlbkup
ເປັນ Lightweight MySQL backup script ທີ່ຄົນໃຈດີເຮັດໃຫ້ໃຊ້ Free ຂໍ້ດີຄື config ເພື່ອໃຊ້ງານແບບງ່າຍໆສາມາດໄປ download ຫຼື clone ມາໃຊ້ໄດ້ເລີຍທີ່ mysqlbkup
$> git clone https://github.com/quickshiftin/mysqlbkup
ຕິດຕັ້ງ
ເຂົ້າໄປທີ່ cd mysqlbkup
ຫຼັງຈາກນັ້ນໃຊ້ຄຳສັ່ງ sudo ./install
ນອກຈາກນີ້ແລ້ວໃຫ້ຕິດຕັ້ງ mysql client
ພ້ອມ apt install mysql-client-core-8.0
.
ຕັ້ງຄ່າການໃຊ້ງານ
ເຮົາຕ້ອງໄປຕັ້ງຄ່າຢູ່ 2 files
-
/etc/mysqlbkup.cnf.
ຕັ້ງຄ່າການເຊື່ອມຕໍ່ກັບ mysql server ຂອງເຮົາ
[mysql]
host=127.1.1.1
user=root
password=mypassword
[mysqldump]
host=127.1.1.1
user=root
password=mypassword
force
opt
routines
triggers
max_allowed_packet=250M
-
/etc/mysqlbkup.config
ຕັ້ງຄ່າບ່ອນເກັບ file backup, ການບີບອັດ file ພິເສດແມ່ນMAX_BACKUPS
ເປັນການບອກໃຫ້mysqlbkup
backup file ຕໍ່ database ສູງສຸດຈັກ file ເຮົາຄົງບໍ່ຕ້ອງການເກັບ backup ທັງໝົດຂອທຸກໆມື້ ຫຼື ທຸກໆຊົ່ວໂມງໄວ້ທີ່ server ແນ່ນອນເພາະມັນຈະເປືອງພື້ນທີ sever ໂດຍບໍ່ຈຳເປັນ ແລະ ຖ້າໃຊ້ງານໄປນານໆກໍ່ເຮັດໃຫ້ພື້ນທີ່ sever ເຕົມໄດ້ເຮົາພຽງຕ້ອງການ backup ຂໍ້ມູນລ່າສຸດເທົ່ານັ້ນ ສຳລັບຄ່ານີ້ກໍ່ຂຶ້ນກັບຕົນເອງເລີຍວ່າຕ້ອງການ backup ຍ້ອນຫຼັງໄປຈັກມື້.
##########
# Configuration file for mysqlbkup
# https://github.com/quickshiftin/mysqlbkup
##########
DEFAULTS_FILE=/etc/mysqlbkup.cnf
BACKUP_DIR=/var/mysqlbkup
MAX_BACKUPS=3
DATE_FORMAT=
# Databases to ignore
# This is a space separated list.
# Each entry supports bash pattern matching by default.
# You may use POSIX regular expressions for a given entry by prefixing it with a tilde.
DB_EXCLUDE_FILTER=
# Compression library
BKUP_BIN=gzip # Change this to xz if you wish, for tighter compression
BKUP_EXT=gz # Change this to xz if you wish, for tighter compression
ຫຼັງຈາກ config ຮຽບຮ້ອຍແລ້ວທົດສອບ run script
$> mysqlbkup.sh dry
ຖ້າບໍ່ມີຂໍ້ຜິດພາດໃດໆກໍ່ເປັນອັນວ່າການຕັ້ງຄ່າສຳເລັດ ແລະ ພ້ອມໃຊ້ງານແລ້ວ
Automated ດ້ວຍ cron job
ໃນການສັ່ງ script ໃຫ້ເຮັດວຽກຕາມວັນ ແລະ ເວລາທີ່ເຮົາຕ້ອງການແມ່ນໃຊ້ crontab
- ຕັ້ງຄ່າ crontab
$> crontab -e
ເພື່ອງ່າຍຕໍ່ການຕັ້ງຄ່າ cron job ແນະນຳໃຊ້ generator online ທີ່ມີຫຼາກຫຼາຍໃຫ້ເລືອກເຊັ່ນ crontab guru, Crontab Generator
ຕົວຢ່າງການຕັ້ງຄ່າ crontab:
ສັ່ງໃຫ້ເຮັດວຽກທຸກໆມື້ໃນເວລາ 00:00 AM
SHELL=/bin/bash
MAILTO=example@gmail.com
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
## mysql backups --------------------------------------
0 0 * * * /usr/local/bin/mysqlbkup.sh 1>> /var/log/mysqlbkup.log 2>>/var/log/mysqlbkup-err.log
ເພື່ອທົດສອບການເຮັດວຽກ cron job ສາມາດຕັ້ງຄ່າໃຫ້ເຮັດວຽກທຸກໆນາທີໄປເລີຍກໍ່ໄດ້
SHELL=/bin/bash
MAILTO=example@gmail.com
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
## mysql backups --------------------------------------
* * * * * /usr/local/bin/mysqlbkup.sh 1>> /var/log/mysqlbkup.log 2>>/var/log/mysqlbkup-err.log
ຫຼັງຈາກນັ້ນກໍ່ restart cron
service
$> service cron restart
ກວດເບິ່ງ status
$> service cron restart
ກວດເບິ່ງ cron job list
$> crontab -l
ຖ້າຫາກບໍ່ສະແດງ config ສະແດງວ່າ cron job ຍັງບໍ່ເຮັດວຽກໃຫ້ໄປກວດເບິ່ງການຕັ້ງວ່າວ່າຖືກຕ້ອງແລ້ວຫຼືບໍ່ ອາດຈະໄປກຳນົດສິດການເຂົ້າເຖິງ chmod -R 600 /var/spool/cron/crontabs
ເມື່ອຕັ້ງຄ່າ ແລະ run cron job ສຳເລັດແລ້ວກໍ່ໃຫ້ໄປກວດເບິ່ງ log file ຫຼື backup destination ທີ່ໄດ້ກຳນົດໄວ້ໃນ file ຕັ້ງຄ່າ ວ່າມີ file backup ຢູ່ຫຼືບໍ່. ຖ້າບໍ່ມີຫຍັງຜິດພາດກໍ່ຈະເຫັນ file backup ເທົ່ານີ້ກໍ່ໃຊ້ງານ automated mysql backup ໄດ້ແລ້ວ.
ເປັນວິທີງ່າຍໆແຕ່ກໍ່ໃຊ້ໄດ້ຜົນດີ. ຖ້າຈະເອົາກັນຄັກແນ່ກໍ່ອາດຈະໃຊ້ cloud backup
, database sync
, ຕັ້ງ server backup ເອງ
ກໍ່ແລ້ວແຕ່ຄວາມສຳຄັນຂອງຂໍ້ມູນ ແລະ ໂປຣເຈັກຂອງເຮົາ.
ມາຮອດນີ້ກໍ່ຂໍ້ຈົບບົດຄວາມສັ້ນໆນີ້ໄວ້ເທົ່ານີ້ກ່ອນໄວ້ພົບກັນໃນບົດຄວາມຕໍ່ໄປ.
Stay Safe ກັນເດີ
Top comments (0)