Tôi Thích Kiếm Tiền

Backup & Restore WordPress trên Linux Server – Cách làm thủ công



Mục lục nội dung

  1. I. Cài phần mềm cần thiết
  2. II. Backup và khôi phục source code
    1. 2.1) Backup source code
    2. 2.2) Khôi phục source code từ file dự phòng
  3. III. Sao lưu & Phục hồi database
    1. 3.1) Backup database
    2. 3.2) Khôi phục database
  4. Lời kết
    1. Xem tiếp bài trong serie
Bài này thuộc phần 2 của 4 phần trong serie Backup & Restore WordPress trên máy chủ

Khi đã sử dụng VPS rồi thì việc thao tác các dòng lệnh để tự mình backup và khôi phục dữ liệu thủ công trên đó bạn chắc chắn phải nắm được để linh hoạt hơn mà không phải lúc nào chúng ta có thể dựa vào các công cụ tự động hóa được.

Trong bài này, mình sẽ chỉ hướng dẫn các bạn backup các dữ liệu của website trên VPS. Còn các dữ liệu khác như cấu hình của VPS, Webserver,…thì bạn nên tự download các file đó về máy để cất giữ thì hay hơn.

Nên xem trước: Học VPS căn bản

I. Cài phần mềm cần thiết

Trong bài backup thủ công này, mình sẽ sử dụng lệnh zipunzip vì lệnh này dễ sử dụng hơn lệnh tar nhiều. Do đó, bạn cần chắc chắn là VPS của bạn đã có cài phần mềm ZIP bằng cách chạy lệnh sau để cài:

sudo yum install zip unzip -y

II. Backup và khôi phục source code

2.1) Backup source code

Để backup các file và folder trong source code của website trên VPS, chúng ta sẽ sử dụng lệnh zip với cấu trúc như sau:

zip [tùy chọn] [tên-file-cần-tạo] [thư-mục-cần-nén]

Trong đó, mục [tùy chọn] sẽ có rất nhiều tùy chọn nhưng hầu hết mình chỉ sử dụng một tùy chọn đó là -r: nghĩa là sẽ nén luôn cả toàn bộ file trong các thư mục con của thư mục cần nén.

Ví dụ mình có source code tại đường dẫn VirtualHost là /home/webdata/thachpham.com/public_html và mình cần nén lại toàn bộ file và thư mục trong đó thành một file tên là thachpham.zip thì sẽ viết như sau:

zip -r thachpham.zip /home/webdata/thachpham.com/public_html/*

Sau khi nén xong, file thachpham.zip sẽ được lưu tại thư mục mà bạn đang truy cập do mình không viết rõ đường dẫn cần lưu file. Nếu mình cần lưu file thachpham.zip vào thư mục /home/backup/ thì sẽ viết như sau:

zip -r /home/backup/thachpham /home/webdata/thachpham.com/public_html/*

Nhưng bạn xin lưu ý một chỗ, nếu bạn không cd vào thư mục cần zip thì khi zip, nó sẽ gom toàn bộ cây thư mục vào. Ví dụ như mẫu lệnh ở trên, thì khi giải nén ra nó sẽ có thư mục /home/webdata/thachpham.com/public_html chứ không chỉ có source code không.

Do vậy, nếu cần zip thì tốt nhất bạn nên cd vào thư mục trước rồi zip sau như ví dụ sau đây:

cd /home/webdata/thachpham.com/public_htmlzip -r thachpham *
[[email protected] ~]# ls -al /home/backuptotal 15432drwxr-xr-x 2 root root 4096 Sep 24 09:12 .drwxr-xr-x 4 root root 4096 Sep 24 09:12 ..-rw-r--r-- 1 root root 15792563 Sep 24 09:12 thachpham.zip

2.2) Khôi phục source code từ file dự phòng

Để khôi phục dữ liệu hay còn gọi là xả nén dữ liệu dự phòng ra, bạn có thể sử dụng lệnh unzip nếu file đó là .zip mà bạn đã làm ở cách trên. Cấu trúc lệnh unzip là như sau:

unzip [tùy-chọn] [tên-file] -d [tên-đường-dẫn-cần-lưu]

Trong phần tùy chọn, mình hãy sử dụng nhất tùy chọn -o để ghi đè lên các file cũ trong thư mục cần giải nén nếu có.

Ví dụ mình có file thachpham.zip lưu ở /home/backup/ và cần giải nén ra thư mục /home/webdata/thachpham.com/public_html thì sẽ viết như sau:

unzip -o /home/backup/thachpham.zip -d /home/webdata/thachpham.com/public_html

III. Sao lưu & Phục hồi database

Đối với databse thì cũng không hề khó lắm đâu, chỉ với 1 lệnh duy nhất. Tuy nhiên, lệnh backup và phục hồi sẽ hơi khác nhau một tí.

3.1) Backup database

Để backup database, chúng ta sẽ sử dụng lệnh mysqldump theo cấu trúc:

mysqldump -u [tên database username] -p [tên database cần backup] > [tên file cần lưu].sql

Ví dụ mình có 1 database tên là dulieu1 với database username là dulieu1_user và cần backup ra một file tên là thachpham-data.sql thì viết lệnh như sau:

mysqldump -u dulieu1 -p dulieu1_user > thachpham-data.sql

Nó sẽ hỏi mật khẩu của database user, bạn chỉ cần nhập vào là xong. Còn nếu bạn không muốn gõ mật khẩu sau khi chạy lệnh thì viết -p123456, 123456 là mật khẩu database.

Backup xong thì file .sql sẽ được lưu ở thư mục hiện tại mà bạn đang truy cập, muốn nó tự chuyển đi ra thư mục khác khi backup xong thì chỉ cần thêm đường dẫn cụ thể ở phần tên file .sql cần lưu.

3.2) Khôi phục database

Để khôi phục database ta không sử dụng mysqldump mà sẽ sử dụng lệnh mysql với cúa trúc:

mysql -u [tên database username] -p [tên database cần được khôi phục] < [tên file .sql cần khôi phục]

Ví dụ:

mysql -u dulieu1_user -p123456 dulieu1 < thachpham-data.sql

Lưu ý là nếu database bạn đang có dữ liệu rồi thì tốt nhất hãy xóa data đó đi và tạo lại một database mới rồi hẵng import vì nó không hỗ trợ ghi đè.

Câu lệnh xóa database trong SQL là DROP DATABASE tên-data-cần-xóa;.

Lời kết

Ở bài này mình chỉ cần bạn biết căn bản thế thôi nhưng thao tác này rất quan trọng và hữu ích sau này nên nếu bạn gõ lệnh chưa quen thì hãy tập gõ cho nó quen dần.

Ở bài sau, mình sẽ hướng dẫn bạn tự tạo ra một dòng lệnh để hỗ trợ backup giống như ý của bạn thay vì gõ từng đoạn zip và mysqldump rất mất công và kém chuyên nghiệp.

Xem tiếp bài trong serie

Phần trước: Backup & Restore WordPress trên Linux Server – Tổng quanPhần kế tiếp: Backup & Restore WordPress trên VPS – Tự viết script backup

Backup & Restore WordPress trên Linux Server – Cách làm thủ công was last modified: Tháng Sáu 22nd, 2016 by Thạch Phạm
backup thủ côngbackup trên vpsCentOSlinuxcsao lưu và phục hồi

Categories