
Trong bài viết trước mình có giới thiệu cách Hướng dẫn tự động backup code và database sang một server/VPS khác. Cách đó thực hiện rất tốt nhưng nếu bạn không muốn bỏ tiền ra mua một VPS để backup thì bạn có thể tận dụng tài khoản Dropbox để backup dữ liệu cho VPS của mình. Dữ liệu ở đây bao gồm cả code và database .
Mục Lục Nội Dung
Trước tiên ta tìm hiểu Dropbox là gì nhé:
Dropbox là dịch vụ sao lưu, lưu trữ dữ liệu trực tuyến với khả năng đồng bộ theo thời gian thực và tự động thực hiện sao lưu.
Khi đăng ký một tài khoản free, chúng ta sẽ có 2 GB để lưu trữ dữ liệu. Và chúng ta có thể tăng dung lượng miễn phí này thành 20 GB bằng cách giới thiệu bạn bè sử dụng này qua link của mình.
Sau đây mình sẽ hướng dẫn các bạn tận dụng tài khoản Dropbox để sao lưu dữ liệu cho VPS của mình. Cách thực hiện rất đơn giản, chúng ta mất mấy phút để hoàn thành việc cài đặt và thiết lập thôi.
Bạn đã sử dụng VPSSIM chưa ? Xem thêm: Cài đặt Nginx, PHP-FPM, MariaDB và quản lý VPS dễ dàng, bảo mật với VPSSIM
Chúng ta cần có một tài khoản Dropbox.
Bạn có thể đăng ký ở : http://dropbox.com
Cài đặt Dropbox trên VPS
Tùy theo phiên bản hệ điều hành Linux của VPS bạn là bản 32 bit hay 64 bit mà ta dùng lệnh dưới để cài đặt:
Lệnh cài Dropbox dành cho 64 bit:
wget -O dropbox.tar.gz "http://www.dropbox.com/download/?plat=lnx.x86_64"
Lệnh cài Dropbox dành cho 32 bit:
wget -O dropbox.tar.gz "http://www.dropbox.com/download/?plat=lnx.x86"
Sau khi download Dropbox về VPS hoàn thành. Ta tiếp tục lệnh giải nén :
tar -xvzf dropbox.tar.gz
và chạy dropbox
./.dropbox-dist/dropboxd
sau khi chạy dropbox, bạn sẽ thấy một đoạn text với nội dung sau:
This computer isn't linked to any Dropbox account... Please visit https://www.dropbox.com/cli_link?host_id=abcxyz to link this device.
Bây giờ bạn copy link tương tự như
https://www.dropbox.com/cli_link?host_id=abcxyz
vào trình duyệt, đăng nhập bằng tài khoản Dropbox để xác thực kết nối VPS và Dropbox. đăng nhập xong bạn sẽ được thông báo:
Đăng nhập trên trình duyệt thành công thì trên của sổ dòng lệnh SSH sẽ xuất hiện :
This computer is now linked to Dropbox. Welcome mr ABC
Ta thoát ra bằng lệnh Ctrl + C
Sau khi bạn thực hiện xong bước này, toàn bộ dữ liệu giữa VPS và tài khoản Dropbox sẽ được kết nối hai chiều. Nghĩa là bạn thay đổi nội dung file trong folder Dropbox
trên VPS thì trên VPS cũng thay đổi theo và ngược lại.
Thực hiện backup VPS tới Dropbox
Các folder và file nằm trong /root/Dropbox trên VPS sẽ được backup lên Dropbox.
Nhưng do đường dẫn của các file website và database của chúng ta nằm ở các thư mục khác. Vì vậy chúng ta cần symlink các folder này tới folder của Dropbox. Trong bài viết này mình dùng đường dẫn các folder website và database theoVPSSIM. Trên các VPS của bạn, nếu đường dẫn khác bạn thay thế tương đương nhé.
Trước tiên ta tạo folder BackupVPS chứa sao lưu VPS
mkdir /root/Dropbox/BackupVPS
Tiếp theo symlink folder home chứa tất cả code các website:
ln -s /home/ /root/Dropbox/BackupVPS/home
Bây giờ trong tài khoản Dropbox cuả bạn, sẽ có folder BackupVPS , trong đó có toàn bộ các bản sao lưu của /home trên VPS.
Vậy là xong phần backup code. Tiếp theo đến phần backup database.
I. Trường hợp database của bạn dùng MyISAM làm engine mặc định.
( Nếu bạn sử dụng VPSSIM trên VPS thì database được đặt MyISAM làm engine mặc định)
Với trường hợp này, bạn chỉ cần symlink folder mysql trên VPS vô BackupVPS là được. Khi cần phục hồi, copy luôn cả folder sang chỗ cũ là phục hồi xong.
ln -s /var/lib/mysql /root/Dropbox/BackupVPS/mysql
II . Trường hợp database bạn dùng engine khác như INNODB
Tạo file backup_database.sh trong /home với nội dung sau:
#!/bin/bash mysqldump -u [mysqlusername] -p[pass] mysqldatabasename > /root/BackupVPS/mysql/mydatabasename_`data ' %m-%d-%Y'`.sql
tiếp theo tạo một cronjob cho bash script này auto run lúc 3h30 hàng ngày bằng lệnh:
crontab -l > file; echo '30 3 * * * /home/backup_database.sh >/dev/null 2>&1' >> file; crontab file
Chạy Dropbox
Ta chạy Dropbox bằng cách thực hiện lần lượt 3 lệnh sau:
wget -O ~/dropbox.py "http://www.dropbox.com/download?dl=packages/dropbox.py" chmod 755 ~/dropbox.py ~/dropbox.py start
Tạo Cronjob để chắc chắn Dropbox luôn chạy trong bất cứ trường hợp nào
( như restart lại VPS, tắt VPS rồi bật lại, crash phần mềm nào đó )
Bạn tạo một cronjob bằng lệnh sau:
crontab -l > file; echo '@reboot ~/dropbox.py start >/dev/null 2>&1' >> file; crontab file
Chạy lệnh xong, bạn gặp “no crontab for root ” thì không vấn đề gì nhé.
Chú ý: Bước này cực kỳ quan trọng, vì sau khi bạn khởi động lại VPS, Dropbox sẽ bị tắt và không tự động bật lại.
Các lệnh Kiểm Tra .
Để kiểm tra xem cronjob để Dropbox luôn chạy đã add thành công chưa. Ta dùng lệnh
crontab -l
Kiểm tra trạng thái Dropbox
~/dropbox.py status
Để stop Dropbox backup ta dùng lệnh
~/dropbox.py stop
Xem thêm:
- Godaddy gói economy chỉ còn 12 USD/năm + Free domain và Giảm giá 50% các gói hosting khác.
- Đăng ký và nạp 5 USD để nhận 10 USD trong tài khoản VPS tại VULTR
Chúc bạn thành công.
Dear Admin!
Em mới tìm hiểu và làm được một website nền wp trên vps Vultr bằng vpssim. Giờ em muốn backup data của trang web đó rồi đưa vào Dropbox như bài viết trên thì phải làm như thế nào ? Hoặc em muốn down cái backup data trong Vpssim về để lưu trữ trong máy tính được ko ?
Em làm như hướng dẫn trong bài viết là được mà :)
Sau khi bacjkup hoàn thành, VPSSIM có cung cấp cho em link download, em có thể sử dụng link đó để download backup để lưu trữ trên máy tính.
Ad ơi, xin hướng dẫn mình cách xóa dropbox với, nó chạy chiếm băng thông của mình quá.
Mình chưa thử xóa bao giờ nhưng nếu cần tiết kiệm băng thông, bạn có thể cấu hình Dropbox chỉ upload thư mục backup thôi. Như vậy băng thông dành cho Dropbox không nhiều lắm.
Nếu muốn disable Dropbox, Bạn tắt Dropbox, rồi xóa crontab tự động khởi động Dropbox đi là Dropbox sẽ không chạy nữa.
pkill dropboxd
cái cách backup này có dùng cho vpssim dc ko bạn
Được bạn ạ.
bạn ơi, mình cài xen nhưng khi backup code lên vpssim thì trang trắng xóa bạn à. Mình thử cả backup hay restore bằng sql dumper r mà vẫn bị. Mình đưa tất các file trong db ở dropbox lên mysql của vps r cũng thế. Bạn chỉ giúp mình với nhé. Mình fix trắng trang ở vpssim r
Chào bạn. Code bạn sử dụng code gì vậy ?
mình dùng xenforo 1.4.7 lấy folder db từ mysql của dropbox xong mình upload lên folder sql của vpssim, mình cấu hình sql trong file config của xenforo rồi nhưng mình load trang admin.php bị trắng trang bạn à. Mình xem trong phpmyadmin thì nó báo No tables found in database. Mình test trên localhost thì k thấy colum nào, chỉ toàn là table. Bạn giúp mình với nhé
Để chạy được forum XEN trên VPS sử dụng VPSSIM (nginx), bạn cần config rule nginx cho domain bằng cách config file vhost của domain (trong /etc/nginx/conf.d). Cái này bạn cần tìm hiểu thêm nhé ! :)
Về database, bạn phải restore bằng chức năng có sẵn cửa VPSSIM hoặc dùng lệnh hoặc phpmyadmin hoặc code saolu.php, sypex… chứ không upload thẳng vào folder mysql trên VPS được.
mình cài xen trên vpssim thành công r bạn à, mình k phairconfig nginx bạn à.
Cái auto backup ở dropbox thì nó chỉ có folder chứa db mà bạn. Mình nghĩ là các code saoluu.php, dumper, phpmyadmin hay chức năng có sẵn dùng file .sql hay .gz. Quan trọng là db mình trên dropbox là folder db, mình down về r copy vào sql localhost thử để export r bạn à
vậy cái này khi mình rebuild vps, cài lại thì nó sẽ sync hết file ở trên dropbox về à?
Đúng rồi :)
Làm thế này đến lúc muốn xoá đi thì làm kiểu gì nhỉ tức là huỷ toàn bộ không dùng dropbox nữa ý
Làm ngược lại là được bạn ạ.
Xin hướng dẫn backup với dropbox cho VPS sử dụng VPSSIM.
Thanks
Bạn làm theo hướng dẫn ở đây nhé: https://hostingaz.vn/2670-huong-dan-tu-dong-backup-du-lieu-vps-len-dropbox.html