Categories Bảo mật

Backup cho WordPress: từ cơ bản đến nâng cao

backup cho WordPress

Backup nghĩa là bản sao lưu dữ liệu dự phòng cho trang web WordPress của bạn. Nó có 2 mục đích chính:

  1. Khôi phục lại hoàn chỉnh dữ liệu website khi trang gặp vấn đề: thí dụ khi bạn nghịch theme, plugin, host bị lỗi hoặc bất cứ trường hợp nào khác, và bạn không thể sửa được, lúc này file backup sẽ giúp bạn lấy lại được website như ban đầu (hoặc gần như vậy).
  2. Chuyển hosting: bạn chuyển bản sao lưu về hosting mới và khôi phục lại website.

Vai trò của backup chủ yếu nằm trong trường hợp đầu tiên, vì ở trường hợp thứ hai (chuyển hosting), bạn thường luôn có dữ liệu để chuyển được, lấy ở thời điểm hiện tại. Nhưng với trường hợp đầu (khôi phục khi trang gặp lỗi), nếu bạn không chủ động cài đặt backup trước đó thì lúc này bạn cũng không có được dữ liệu để khôi phục đâu!

Đã có rất nhiều trường hợp quên backup, và khi website bị lỗi thì đành chấp nhận, vì không tiến hành backup trước đó, tổn thất lúc này là rất lớn. Vì đa số trường hợp, chi phí làm nội dung cao hơn nhiều chi phí dành cho việc backup.

Xem video nếu bạn muốn:


#1. Backup phải là sao lưu toàn bộ website

Website WordPress có đồng thời nhiều kiểu dữ liệu: văn bản, hình ảnh, cơ sở dữ liệu SQL, theme, plugin, các file thực thi PHP, CSS, JS, vân vân. Nói đến backup thì hiệu quả nhất phải là backup toàn bộ website (lấy tất cả dữ liệu trên website, gọi chung là file và database).

Nếu bạn chỉ backup một phần website thì có rủi ro là dữ liệu bị hỏng lại nằm trong phần bạn không sao lưu!

Ví dụ bạn thực hiện sao lưu theme, plugin, ảnh (ý chỉ các file) nhưng lại không sao lưu cơ sở dữ liệu. Khi đó file backup là vô nghĩa nếu phần bị hỏng lại là cơ sở dữ liệu (database).

Trên các control panel (trình quản trị hosting, ví dụ cPanel, CyberPanel, Plesk, DirectAdmin), các file thường nằm ở phần File Manager, ví dụ:

các file khác cơ sở dữ liệu

Còn cơ sở dữ liệu bạn sẽ tìm thấy nó ở phpMyAdmin:

database

Trong hình thức backup hoàn toàn thủ công (không thông qua plugin), chúng ta sẽ phải truy cập vào từng phần này rồi nén dữ liệu để tải về.


#2. Backup thủ công trang WordPress

Backup thủ công (một phần hoặc hoàn toàn) nghĩa là file backup chỉ được tạo khi bạn chủ động tiến hành backup vào thời điểm hiện tại, có thể là thông qua phần mềm FTP (ví dụ FileZilla), plugin, hoặc control panel quản trị hosting.

Thực sự thì backup thủ công chỉ phổ biến trong trường hợp chuyển hosting, khi mà bạn cần dữ liệu sát nhất với thời điểm hiện tại.

Nhược điểm lớn nhất của backup thủ công là bạn phải mất công tiến hành định kỳ, và nhiều người sẽ dễ bị quên không làm. Vì thế backup tự động mới là kiểu chúng ta cần dùng khi muốn dự phòng website bị lỗi.


#3. Backup tự động là giải pháp tốt nhất

Ngược lại thủ công, backup tự động nghĩa là bạn sử dụng các công cụ chuyên biệt để lên lịch backup cho trang WordPress. Có thể là hàng ngày, hàng tuần, hàng tháng (hoặc bất cứ khoảng thời gian nào muốn chọn), nó sẽ sao lưu toàn bộ dữ liệu website một lần.

Ưu điểm lớn nhất của backup tự động là công việc này chỉ mất công thiết lập lần đầu, còn sau đó, việc backup được tự động tiến hành như tên gọi của nó.

Backup tự động có thể được tiến hành qua plugin, control panel hoặc chính bản thân nhà cung cấp dịch vụ VPS. Nhiều trong số chúng là các dịch vụ miễn phí hoặc được tích hợp sẵn trong panel của công ty bán hosting. Ví dụ plugin UpdraftPlus hoặc cPanel.

Ví dụ về giao diện backup tự động của UpdraftPlus:

backup tự động của UpdraftPlus

#4. Vị trí đặt dữ liệu backup

Backup cho WordPress có ba vị trí đặt dữ liệu cơ bản:

  • Bạn tải về máy: cái này là trong trường hợp backup thủ công, khi bạn thực hiện rồi tải dữ liệu về máy tính của mình, đây chủ yếu là cách để phòng xa, chứ không phải biện pháp chính yếu;
  • Lưu trên hosting đang dùng: dữ liệu backup được lưu trên chính hosting đang dùng;
  • Lưu trên máy chủ bên ngoài: dữ liệu backup của trang WordPress được lưu trên máy chủ bên ngoài, ví dụ như Google Drive, Dropbox hoặc một VPS khác;

Về nguyên tắc, bạn càng có nhiều vị trí lưu dữ liệu backup thì khi gặp vấn đề bạn càng có nhiều cơ hội khôi phục thành công. Rủi ro được giảm xuống tối đa.

Lưu trên máy chủ bên ngoài thường là biện pháp sao lưu an toàn nhất, vì nó kết hợp được với kiểu backup tự động & dự phòng được trong trường hợp xấu nhất là hosting bạn đang dùng cũng gặp vấn đề (làm cho file backup lưu trên đó không dùng được nữa).

Ví dụ về các tùy chọn làm nơi sao lưu dữ liệu của UpdraftPlus:

các vị trí có thể được dùng làm nơi sao lưu dữ liệu

#5. Backup lũy tiến là gì

Backup lũy tiến (backup INCREMENTAL) là kiểu backup giúp bạn tiết kiệm không gian lưu trữ so với kiểu backup thông thường. Cơ chế của nó là thực hiện sao lưu các thay đổi so với dữ liệu backup đã có trước đó (trong khi với backup thông thường thì mỗi lẫn backup là toàn bộ dữ liệu sẽ được sao lưu). Điều đấy giúp giảm rất nhiều dữ liệu phải sao lưu, trong khi vẫn khôi phục được toàn bộ dữ liệu website khi cần nhờ xâu chuỗi toàn bộ dữ liệu hiện có.

Tuy nhiên backup lũy tiến phức tạp hơn đáng kể backup thông thường, ngoài ra nó là kiểu backup thường yêu cầu dịch vụ trả phí. Backup lũy tiến chỉ nên áp dụng với các website có dung lượng rất lớn, tần số backup dày đặc, hoặc bạn gặp vấn đề về không gian lưu trữ dữ liệu. Nếu không, backup thông thường vẫn là cái bạn nên ưu tiên hơn, vì backup thông thường an toàn hơn backup lũy tiến.


#6. Tần số backup

Tần số backup chỉ đến khoảng thời gian bạn muốn backup định kỳ website. Ví dụ backup website hàng ngày, hoặc hàng tuần.

Nhìn chung backup hàng tuần là đủ cho hầu hết website. Nếu trang của bạn ít cập nhật, thậm chí backup hàng tháng cũng đủ dùng.

Backup hàng ngày chỉ cần thiết đối với các website có tần số cập nhật lớn, ví dụ như ngày nào cũng viết, đăng vài bài.

Tần số backup càng cao, khả năng bạn khôi phục được dữ liệu sát gần với thời điểm hiện tại càng lớn, tuy nhiên đánh đổi ở đây là bạn sẽ tốn nhiều không gian lưu trữ hơn (chung quy là sẽ tốn nhiều tiền hơn).

Cách tốt nhất để xác định được tần số backup là dựa trên tần số cập nhật nội dung website. Nếu hàng tuần bạn mới chỉnh sửa, viết bài một lần thì tần số backup phù hợp có thể sẽ là một tuần.


#7. Số bản backup

Một website không chỉ có một bản backup, các công cụ đều cho phép bạn chọn lựa số bản backup cần lưu.

Ví dụ bạn có tần số backup là 1 tuần thực hiện sao lưu một lần, với số lượng bản backup là 8, thì bạn sẽ có 8 dữ liệu website cách thời điểm hiện tại lần lượt từ tuần thứ nhất cho đến tuần thứ tám. Nói cách khác dữ liệu cũ nhất mà bạn có là cách hiện tại khoảng 2 tháng.

Điều này cũng quan trọng, vì dù thường thì dữ liệu mới nhất (trong ví dụ trên là tuần đầu tiên) là cái chúng ta sẽ dùng để khôi phục website, nhưng cũng có lúc chúng ta dùng các bản lưu xa hơn, vì các bản lưu gần có vấn đề (ví dụ 2 tuần gần đây website dính virus, dữ liệu trước đó thì sạch).


#8. Không gian lưu trữ cần thiết cho bản backup được tính như thế nào?

Ví dụ website của bạn có dung lượng 2GB, bạn thực hiện backup hàng tuần theo cách thông thường (không phải lũy tiến), bạn có không gian lưu trữ 15GB thế thì bạn có lựa chọn tối đa là 7 bản sao (vì 7 * 2 = 14GB, nếu 8 bản thì sẽ là 16GB, vượt không gian lưu trữ đang có).

Dữ liệu lớn nhất trên website thường là ảnh, vì thế nếu bạn muốn tiết kiệm không gian lưu trữ hãy sử dụng ảnh một cách cẩn thận.

Các plugin tối ưu hóa ảnh có thể làm tăng gấp đôi dung lượng ảnh trên website, bởi vì các công cụ này thường tạo thêm một ảnh dự phòng khi bạn tối ưu. Cách tốt nhất là nên sử dụng biện pháp tối ưu không mất chất lượng, và vô hiệu hóa tính năng dự phòng. Điều đó đem lại cho bạn nhiều lợi ích:

  • (1) ảnh vẫn có chất lượng tốt như ban đầu,
  • (2) ảnh vẫn giảm được dung lượng,
  • (3) không tốn dữ liệu dự phòng cho ảnh gốc.

#9. Backup theo thời gian thực

Backup theo thời gian thực là biện pháp backup tiên tiến nhất, đảm bảo khôi phục dữ liệu theo ý muốn cao nhất [hạn chế tối đa việc mất mát dữ liệu do thời gian backup ở xa thời điểm hiện tại].

Cơ chế của backup thời gian thực là bất kỳ lúc nào website của bạn có các thay đổi nó sẽ thực hiện sao lưu, dĩ nhiên đây là kiểu sao lưu lũy tiến thì mới có khả năng làm như vậy.

Backup theo thời gian thực (real-time backup) đòi hỏi công nghệ cao, một plugin nổi bật trong mảng này là Jetpack của chính chủ WordPress, chi phí cho việc này không hề nhỏ.

Backup real-time của Jetpack
Giá backup thời gian thực của Jetpack có chi phí lên tới 23$ / tháng

Do vậy thực tế trên đa số website bạn chỉ cần các giải pháp backup thông thường là đủ rồi. Trừ các website có tốc độ cập nhật nội dung cực cao, yêu cầu backup liên tục, nội dung đặc biệt quan trọng mới cần nghĩ đến kiểu backup kiểu real-time.


#10. Backup ảnh hưởng thế nào đến tài nguyên của hosting

Backup gây tốn tài nguyên hosting ở vài khía cạnh:

  • Bạn cần không gian lưu trữ của hosting để lưu bản backup, nếu bạn lưu backup trên chính hosting đang dùng;
  • Ngay cả khi bạn lưu bản backup trên máy chủ bên ngoài, bạn cũng vẫn cần hosting phải trống một phần, thường ít nhất là 1 – 2 GB mới đủ để công cụ tách dữ liệu website thành các phần nhỏ rồi đẩy dần lên máy chủ bên ngoài;
  • Quá trình backup chắc chắn làm tăng gánh nặng cho hosting;

Bí quyết ở đây là bạn chỉ nên đặt tần số backup vừa đủ, nếu bạn để quá dầy thì sẽ có nguy cơ hosting bị chậm, còn nặng nhất là có thể bị đơ trong thời gian backup diễn ra.

Mẹo thứ hai là nếu công cụ có tùy chọn cài đặt thời gian backup thì nên chọn thời điểm khi website ít bận rộn nhất (ví dụ vào lúc 3 – 4h sáng khi mà đa số website có rất ít khách truy cập. Bạn có thể dùng công cụ phân tích lưu lượng như Google Analytic để biết được thời điểm nào website của bạn có ít khách nhất).


#11. Các định dạng file backup

File backup có thể có định dạng nén phổ biến như .zip, nhưng một vài plugin có thể phát triển các định dạng của riêng nó, chẳng hạn như All in one WP migration với đuôi .wpress

Ưu điểm của định dạng nén phổ thông là với định dạng này bạn có thể khôi phục lại trang WordPress bằng bất cứ công cụ nào, ngay cả bằng cách thủ công khi cần. Trong khi với định dạng độc quyền thì chỉ plugin hoặc công cụ tương ứng mới làm được, các cái khác thì không.


#12. Tiết kiệm chi phí đối với backup

Một số plugin backup trả phí có thể có giá lên đến 50 – 100$, còn các công ty VPS như Vultr, DigitalOcean cũng tính phí backup lưu trên máy chủ ngoài VPS đang dùng vào khoảng 20% phí của VPS (đang dùng).

backup trả phí của Vultr
Một dịch vụ backup trả phí trên Vultr, với VPS 6$/tháng, phí backup là 1,2$/tháng

Thực tế thì vẫn có nhiều giải pháp khác đủ chất lượng mà hoàn toàn miễn phí.

Nhưng trước hết để tránh không gian lưu trữ chiếm dụng quá lớn (ngoài việc tốn ổ, nó còn gây tốn thời gian backup, và hao tổn tài nguyên hosting), bạn cần để ý đến hai yếu tố đã nêu:

  • Hạn chế dữ liệu lớn từ ảnh & nói chung là dữ liệu không cần thiết của website;
  • Lưu số lượng bản backup vừa phải thôi, đủ dùng là được, cẩn thận quá cũng là gánh nặng;

Giờ là các phương án miễn phí:

  • Tận dụng các plugin backup miễn phí chất lượng cao, ví dụ UpdraftPlus;
  • Tận dụng các dịch vụ lưu trữ ngoài miễn phí, ví dụ như Google Drive free đến 15GB dữ liệu lưu trữ, trong khi chất lượng thì rất cao;
  • Một số công ty bán hosting sử dụng cPanel kết hợp với Jetbackup cũng có chất lượng rất cao;

#13. Có nên dùng nhiều giải pháp backup cùng lúc?

Như vậy là chúng ta đã biết nhiều cách backup gồm: (1) thông qua plugin, (2) qua control panel, (3) của bên bán hosting / VPS, (4) thủ công, lưu trên máy tính cá nhân.

Về lý thuyết áp dụng càng nhiều kiểu backup thì bạn càng tránh được rủi ro, nhưng nó làm hao tốn tài nguyên hosting, có thể tốn thêm tiền, và chắc chắn là tốn công sức hơn.

Về mặt cá nhân tôi thường áp dụng cách sau:

  • Áp dụng chỉ một kiểu backup chính thông qua plugin lưu trên dịch vụ lưu trữ ngoài chất lượng;
  • Nếu control panel có sẵn một kiểu backup miễn phí, hoặc không tốn kém thì cũng áp dụng nhưng với tần số, cũng như số lượng nhỏ. Ưu điểm của backup qua control panel hoặc của bên bán VPS/hosting là tốc độ khôi phục rất nhanh;
  • Thi thoảng lưu một bản trên máy tính cá nhân dựa trên các bản backup đã có của (các) phương pháp trên;
Back to Top