Hướng dẫn tự động Backup Database hàng ngày

Script Auto backup MYSQL – Tự động sao lưu cơ sở dữ liệu mysql
Bạn có thường xuyên backup database của bạn và chu kỳ backup database là bao nhiêu ngày ?
Đối với tôi từ trước đến giờ thú thật là tôi rất lười backup database vì cũng do chủ quan khi dùng server ở việt nam .
Nhưng mới đây tôi mới để ý là mình quá chủ quan với dữ liệu . và rất có thể sẽ mất dữ liệu nếu gặp sự cố .
Hiện tại tôi đang dùng server nước ngoài ( digitalocean ) và bắt đều nghĩ đến việc phải backup dữ liệu hàng ngày .
Trong bài viết này tôi sẽ chia sẻ giải pháp backup database hàng ngày của tôi với các bạn .

tự đồng backup database
Tôi sẽ phải đầu tư một VPS giá rẻ chuyên để backup khoảng tầm 2$/tháng có rất nhiều VPS nước ngoài cung cấp dịch vụ loại này . Hiện tại tôi mua của ramnode ( hiện tại ramnode đang giảm giá đấy ) cho tốc độ upload từ server của tôi chính đến là 30mb/s , khác nhanh . và chú ý là phải chọn VPS này khác nhà cung cấp với server chính nhé . để còn đề phòng rủi ro mà :).

Hướng dẩn tự động backup database hàng ngày :

Bước 1 . Trên server chính cài đặt lftp

Mã:
yum -y install lftp

Bước 2 . Trên server Backup các bạn cần phải có FPT server
Nếu server chưa có thì lệnh này để cài vsftpd

yum install vsftpd

Bước 3 . Cấu hình mysqlbackup
download Script mysqlbackup đính kèm và đặt trên server chính , điền các thông số thích hợp
Cài cron để tự động thực thi script trên

crontab -e

Và nhập vào

15 3 * * * sh /home/mysqlbackup.sh

ở đây tôi chọn thời gian là 3h15′ hàng ngày để tự động backup . sau đó script sẽ tự động upload sang server backup .
Khởi động lại cron:

service crond restart

Thời gian xóa các bản backup cũ các bạn có thể thiết lập lại cho phù hợp( mặc định là 7 ngày ) .
Sau khi thiết lập xong thì bây giờ bạn đã yên tâm vì hàng ngày dữ liệu của bạn đã được backup sang một server khác , ở cả 2 server vẫn luôn lưu lại backup của bạn cho nên nếu một trong 2 cái gặp sự cố thì bạn vẫn không sợ bị mất dữ liệu .
Bước 4 . Giaỉ pháp backup code và file đính kèm
Vì diễn đàn của tôi hàng ngày vẫn có những thay đổi về avatar của thành viên và các file đính kèm do vậy tôi cũng cần phải backup chúng

Tôi sẽ chọn phương pháp rsync để đồng bộ toàn bộ thư mục Source code của tôi sang server backup
Cách thiết lập
Cần tạo một khóa SSH không cần mật khẩu
Trên server chính chạy lệnh sau

ssh-keygen -f ~/.ssh/id_rsa -q -P ""

và copy ID key ssh đến server backup để server chính không cần mật khẩu khi truy cập vào server Backup

ssh-copy-id -i ~/.ssh/id_rsa.pub IP-SERVER-BACKUP

Cài đặt đồng bộ mỗi ngày một lần

crontab -e

và nhập vào

30 4 * * * rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /thu-muc-source-code/* ip-server-backup:/thu-muc-backup/

Dòng trên cho bết mỗi ngày tôi đồng bộ vào lúc 4h30′
Khởi động lại cron .

service crond restart

Chúc các bạn thành công

 

Hướng dẫn tự động Backup Database hàng ngày
Đánh giá bài viết!

Hướng dẩn tất cả những thủ thuật mà tôi biết được . Hy vọng sẽ giúp được mọi người hiểu biết nhiều samp và chia sẽ vps free .

Comments (No)

Leave a Reply