Tự động sao lưu dữ liệu từ xa

Hơn một năm trước anh đã giới thiệu mẹo tự động sao lưu cơ sở dữ liệu và mở cửa không cần chìa hay còn gọi là ssh không cần mật khẩu. Nhưng vì bận chụp ảnh kiếm sống nên không giới thiệu ứng dụng cuối cùng được. Nay nhân lúc đợi người hỏi mua ống kính, anh mới chụp được ảnh minh hoạ mà viết bài được.

Đề bài: Anh có một cái VPS Linux ở địa chỉ kiểu Hollywood là 1.22.333.4444 dùng để chạy một số website. Anh muốn cơ sở dữ liệu và các tập tin mới hàng ngày sẽ được tự động tải về máy tính ở nhà mình. Anh phải làm gì?

Bài làm

Đầu tiên, anh sẽ phải tự động sao lưu cơ sở dữ liệu trên máy chủ. Giả sử, anh lưu vào thư mục /home/username/backup. Còn DocumentRoot của các website đều nằm trong /var/www/html.

Và anh cũng đã làm mấy bước đơn giản để ssh vào máy chủ từ xa mà không cần mật khẩu.

Sau đó, ở trên máy của mình, anh viết đoạn mã này và lưu vào ~/bin/vps-backup.sh.

# Cơ sở dữ liệu
cd /home/username/bin/
echo "########### SAO LƯU CƠ SỞ DỮ LIỆU ###########"
rsync -rP --update username@1.22.333.4444:backup/ /home/username/vpsBackup/db

# Dữ liệu website
echo "########### SAO LƯU DỮ LIỆU WEBSITE ###########"
rsync -rP --update --exclude "cache/supercache/" username@1.22.333.4444:/var/www/html/ /home/username/vpsBackup/html

echo "Xong: " $(date +"%Y-%m-%d %H:%M:%S") >> vps-backup.log

Anh không quên chmod +x ~/bin/vps-backup.sh và chạy thử.

Nếu chạy thử thành công thì anh gõ crontab -e hẹn giờ tự động chạy đoạn mã này, giả sử vào lúc bắt đầu ngày mới, tức là 0 giờ 0 phút:

0 0 * * * /home/username/bin/vps-backup.sh

Thế là xong.

Góc khoe của

Nếu để ý thì các anh chị em sẽ nhận ra bảng mạch trong ảnh ở đầu bài là RaspberryPi 3 model B. Anh mua cái này hơn ba năm nay rồi vất xó theo đúng nghĩa đen và nó vẫn chăm chỉ làm việc, trong đó có cái nhiệm vụ sao lưu cao cả này.

2 thoughts on “Tự động sao lưu dữ liệu từ xa”

Bình luận

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.