MOTBIT - Công nghệ kết nối tương lai

35/36 Xuân Thủy

Cầu Giấy, Hà Nội

8:30 AM - 5:30 PM

Thứ 2 đến thứ 7

Hướng dẫn Backup và chuyển dữ liệu giữa 2 máy chủ dùng linux
Tháng mười hai 10, 2013

Hướng dẫn Backup và chuyển dữ liệu giữa 2 máy chủ dùng linux

Việc chuyển dữ liệu giữa 2 máy chủ nhiều lúc làm bạn cảm thấy stress, vì phải download một lượng lớn dữ liệu rồi lại tải lên máy chủ mới. Rất mệt mỏi và tốn thời gian. Chính vì vậy mình xin mạn phép viết bài hướng dẫn các bạn chuyển toàn bộ dữ liệu từ máy chủ linux này sang máy chủ khác, Việc chuyển dữ liệu giữa 2 server cùng DataCenter cực đơn giản và nhanh chóng, chỉ mất 10 phút thôi.

Bước 1. Tạo một thư mục backup dữ liệu

mkdir ~/bak2911

Mình tạo một thư mục có tên là bak2911 bạn có thể tạo thư mục khác tùy ý.

mkdir là lệnh tạo thư mục mới trên linux.

Bước 2. Backup MySql: Hãy sử dụng mysqldump để backup dữ liệu theo cấu trúc sau

mysqldump -uroot -pmật_khẩu tên_database > ~/bak2911/tên_database .sql

có bao nhiêu password thì bạn lặp lại lênh trên tưng đấy lần nhé.

mysqldump là lệnh backup dữ liệu, rất nhanh chóng và chính xác, với những dữ liệu lớn bạn chỉ cần 1 câu lệnh và chờ vài giây là xong.

Bước 3. Backup toàn bộ dữ liệu web

tar -cvzf ~/bak2911/web-all.tar /var/www/html/

trong đó: /var/www/html/ là thư mục chứa toàn bộ website của bạn ( DocumentRoot )

tar -cvzf là lệnh nén thư mục vào file .tar, rất nhanh chóng và tiện lợi.

ssh-backup

Bước 4. Chuyển dữ liệu sang máy chủ mới

scp -r -P22 /root/bak2911 root@ip_server_mới:/thư_mục_trên_server_mới

Với đường truyền tốc độ cao bạn chỉ mất khoảng 5 phút để chuyển 1 GB dữ liệu. Rất nhanh chóng phải không?

scp là lệnh dùng để copy dữ liệu giữa 2 máy chủ.

-r: recusive – đệ quy có nghĩa là copy toàn bộ thư mục, thư mục con và các file chứa trong đó

-P22: là cổng 22, Nếu máy chủ đặt ssh ở cổng khác bạn cần thay đổi thông số này.

scp two server -motbit

Bước 5. Khôi phục dữ liệu Mysql trên Server mới

Hãy tạo các database trên server mới và bắt đầu tiến hành khôi phục. Chạy dòng lệnh sau đây để khôi phục dữ liệu.

mysql -uroot -pmật_khẩu tên_database < /thư_mục_trên_server_mới/tên_database .sql

mysql -uroot -pPassword dbname < file.sql : Đây chính là lệnh khôi phục dữ liệu mysql. Cực nhanh chóng và an toàn.

Bước 6. Khôi phục toàn bộ dữ liệu web

Đầu tiên bạn cần giải nén file backup dữ liệu web

cd /thư_mục_trên_server_mới/
tar
-zxvpf web-all.tar

tar -zxvpf là lệnh giải nén file .tar hoặc .tar.gz (với file zip bạn dùng lệnh unzip)

Sau khi giải nén bạn cần chuyển toàn bộ dữ liệu sang thư mục gốc của Apache ( hoặc Nginx)

mv * -Rf /thư_mục_gốc_http

Vậy là bạn đã hoàn thành việc backup và khôi phục là dữ liệu từ VPS cũ sang VPS mới.

Chúc các bạn thành công. Mọi thắc mắc bạn vui lòng để lại comment dưới bài viết. Mình sẽ trả lời trong thời gian sớm nhất có thể.

Comments (6)

  1. Dragon Autum

    16 Aug 2014 - 8:45 sáng

    Không thể backups all data được sao bạn, nếu dữ liệu có khoảng 100 website thì như thế nào ?

    • motbit

      22 Oct 2014 - 6:23 chiều

      100 website thì bạn backup thư mục chứa 100 website đó,
      còn db bạn viết 1 bash script để backup là được

  2. Những bài viết nên xem khi học VPS

    21 Mar 2015 - 11:26 chiều

    […] 5. Backup và chuyển dữ liệu giữa 2 máy chủ dùng linux […]

  3. cao tri

    18 Apr 2015 - 4:48 chiều

    việc backups all data thì làm thế nào? chứ từng data của từng website trên vps không thể nhớ hết cũng như không thể lấy hết được. Chỉ giúp cách có thể backup all data? thanks

  4. Sam

    05 Apr 2016 - 10:24 chiều

    Bạn cho hỏi khi copy backup sang server mới (scp -r -P22 /root/bak2911 root@ip_server_mới:/thư_mục_trên_server_mới) không cần yêu cầu xác thực mật khẩu gì à. Vậy ai biết ip và thư mục của mình đều có thể đẩy data sang đúng không?

  5. Toàn Nguyễn Hữu

    08 Nov 2016 - 1:10 chiều

    Mình cũng đang cần chuyển VPS mà nghĩ đến phải chuyển cả loạt website thấy oải quá, hic hic

Add your Comment

Lưu trữ