Trong quá trình quản lý và phát triển website trên một máy chủ VPS (Virtual Private Server), có thể xảy ra những tình huống mà bạn cần chuyển dữ liệu từ một VPS sang một VPS khác hoặc sao lưu dữ liệu để đảm bảo an toàn. Trong bài viết này, chúng ta sẽ tìm hiểu về cách chuyển dữ liệu website trong VPS bằng sử dụng các lệnh Linux command.

Quá trình chuyển dữ liệu website thường bao gồm nén source code, export database và lưu trữ dữ liệu vào các thư mục tương ứng trên VPS. Chúng ta sẽ sử dụng các lệnh nén, mysqldump và cd để thực hiện các bước này.

Tiếp theo, chúng ta sẽ đi vào chi tiết từng bước, hướng dẫn cách nén source code, export database và di chuyển dữ liệu vào thư mục lưu trữ. Hãy cùng bắt đầu với quá trình chuyển dữ liệu website trong VPS bằng Linux command!

Các bước thực hiện chuyển dữ liệu website trong VPS

Sao lưu dữ liệu trên VPS cũ

Bước 1: Nén source code

Sử dụng lệnh nén (tar) để nén source code thành một tệp tin nén. Ví dụ, giả sử thư mục chứa source code của bạn là /var/www/mywebsite, và bạn muốn tạo một tệp tin nén có tên mywebsite.tar.gz. Sử dụng lệnh sau để nén source code:

tar -czvf mywebsite.tar.gz /var/www/mywebsite

Trong đó:

  • tar: lệnh nén và giải nén tệp tin
  • -c: tạo một tệp tin nén mới
  • -z: sử dụng gzip để nén tệp tin
  • -v: hiển thị quá trình nén
  • -f: xác định tên của tệp tin nén

Ví dụ mã nguồn web tôi đặt ở /var/www/dotrungquan.info/ và tôi sẽ nén như sau

tar -czvf dotrungquan.tar.gz /var/www/dotrungquan.info/
CleanShot 2023 07 18 at 12.22.22@2x
Hướng dẫn chuyển dữ liệu website trên VPS 6

Bước 2: Export database (Xuất database)

Sử dụng lệnh mysqldump để export database của website. Để export database có tên là mydatabase, sử dụng lệnh sau:

  • Xem thêm: Sử dụng MySQL Command để Export & Import Database
mysqldump -u your_username -p your_password mydatabase > mydatabase.sql

Trong đó:

  • -u your_username: xác định tên người dùng của MySQL
  • -p your_password: xác định mật khẩu của người dùng MySQL (sau khi nhập lệnh, bạn sẽ được nhắc nhập mật khẩu)
  • mydatabase: tên của database bạn muốn export
  • > mydatabase.sql: định tên của tệp tin export

Ví dụ: Ở trong bài viết này tôi sử dụng WordPress và cấu hình database sẽ nằm ở file wp-config.php. Bạn chỉ cần mở file này lên sẽ thấy được Database

CleanShot 2023 07 18 at 12.40.15@2x
Hướng dẫn chuyển dữ liệu website trên VPS 7

Cài đặt lên VPS mới

Bước 1: Di chuyển source code và database

Có nhiều cách để di chuyển source code và database từ VPS này sang VPS kia. Trong bài viết này thì tôi sẽ hướng dẫn bạn sử dụng lệnh scprsync để di chuyển. Bạn hãy chọn 1 trong 2 lệnh để thực hiện.

1. Sử dụng SCP để di chuyển file

Cú pháp của lệnh SCP như sau

  • Chuyển file sử dụng cổng mặc định (port 22):
scp  @:
  • Chuyển file sử dụng cổng SSH đã thay đổi (VD: 6789)
scp -P 6789  @:

Trong đó:

  • : đường dẫn và tên file bạn muốn chuyển.
  • : tên người dùng trên máy chủ đích.
  • : địa chỉ hoặc tên máy chủ đích.
  • : đường dẫn đến thư mục đích trên máy chủ.

Ví dụ, để chuyển file wordpress.zip vào thư mục /home/user/ trên máy chủ với địa chỉ 11.22.33.44 sử dụng cổng mặc định, bạn có thể sử dụng lệnh sau:

scp wordpress.zip [email protected]:/home/user/

Nếu máy chủ của bạn sử dụng cổng 6789 thay vì cổng mặc định, bạn có thể thêm -P 6789 vào lệnh scp:

scp -P wordpress.zip [email protected]:/home/user/
2. Sử dụng RSYNC để di chuyển file

Để di chuyển file sử dụng rsync với cổng mặc định (port 22) hoặc cổng đã thay đổi, bạn có thể sử dụng cú pháp sau:

  • Di chuyển file sử dụng cổng mặc định (port 22):
rsync -avz -e "ssh" --progress  @:
  • Di chuyển file sử dụng cổng đã thay đổi (VD 6789)
rsync -avz -e "ssh -p 6789" --progress  @:

Trong đó:

  • : đường dẫn và tên file bạn muốn di chuyển.
  • : tên người dùng trên máy chủ đích.
  • : địa chỉ hoặc tên máy chủ đích.
  • : đường dẫn đến thư mục đích trên máy chủ.

Ví dụ, để di chuyển file wordpress.zip vào thư mục /home/user/ trên máy chủ với địa chỉ 192.0.2.10 sử dụng cổng mặc định, bạn có thể sử dụng lệnh sau:

rsync -avz -e "ssh" --progress wordpress.zip [email protected]:/home/user/

Nếu máy chủ của bạn sử dụng cổng 6789 thay vì cổng mặc định, bạn có thể thêm -e "ssh -p 6789" vào lệnh rsync:

rsync -avz -e "ssh -p 6789" --progress wordpress.zip [email protected]:/home/user/

Bước 2: Giải nén file mã nguồn

Vì trong bước đầu tôi sử dụng định dạng .tar.gz nên sẽ giải nén với lệnh sau.

tar -xzvf dotrungquan.tar.gz

Trong đó:

  • tar: lệnh giải nén và nén tệp tin
  • -x: giải nén tệp tin
  • -z: sử dụng gzip để giải nén tệp tin
  • -v: hiển thị quá trình giải nén
  • -f: xác định tên của tệp tin giải nén (dotrungquan.tar.gz trong trường hợp này)

Sau khi chạy lệnh trên, các tệp tin trong dotrungquan.tar.gz sẽ được giải nén trong cùng thư mục hiện tại.

Bước 3: Import Database (Nhập database)

Tôi vẫn sử dụng lệnh mysql để import database. Trước khi import bạn cần tạo trước Database User và Database Name theo panel hoặc script bạn sử dụng.

  • Xem thêm: Sử dụng MySQL Command để Export & Import Database

Để import một tệp tin SQL vào cơ sở dữ liệu MySQL, bạn có thể sử dụng lệnh sau:

mysql -u your_username -p your_password your_database < database.sql

Trong đó:

  • your_username: tên người dùng của MySQL
  • your_password: mật khẩu của người dùng MySQL (sau khi nhập lệnh, bạn sẽ được nhắc nhập mật khẩu)
  • your_database: tên cơ sở dữ liệu MySQL mà bạn muốn import vào
  • database.sql: tên tệp tin SQL chứa dữ liệu cần import

Đảm bảo rằng bạn đã thay thế các thông tin cần thiết như tên người dùng, mật khẩu, tên cơ sở dữ liệu và tên tệp tin SQL vào lệnh trên. Sau khi chạy lệnh, quá trình import sẽ được thực hiện và dữ liệu trong tệp tin SQL sẽ được nhập vào cơ sở dữ liệu MySQL.

Bước 4: Kết nối Database vào file cấu hình web

Sau khi đã nhập database thành công bạn cấu hình Database User, Database Name và Password vào file cấu hình của web. Đối với WordPress thì nằm ở file wp-config.php

Nếu bạn đang gặp khó khăn trong việc chuyển dữ liệu sang hệ thống mới và chưa biết tìm ai. Đừng lo lắng, tôi sẽ giúp bạn. Với dịch vụ chuyển website trọn gói tôi cung cấp sẽ giúp bạn chuyển dữ liệu sang hệ thống mới an toàn và trọn vẹn