Skip to content

Sao lưu dữ liệu của Moodle

Từ viết tắt

  • Backup: sao lưu.
  • Site: chỉ chung cả trang moodle, bao gồm tất cả các trang phụ.
  • Course: Khóa học.
  • Admin: Người quản trị trang.

Tổng quan

Theo tài liệu thì moodle hai hình thức sao lưu (backup) các như sau: Backup Site (cả trang) và Backup Course (khóa học)

Backup Site

Backup site cho phép Admin lưu mọi thứ liên quan đến trang moodle. Các bản sao lưu này có thể được khôi phục để đưa một trang web trở lại thời điểm khi bản sao lưu được thực hiện.

Thực hiện backup thường xuyên được khuyến khích để giảm lượng thông tin bị mất trong trường hợp sự cố và để tăng tốc quá trình khôi phục

Phạm vi sao lưu:

  1. Dữ liệu trong MySQL database.
  2. File được tải lên moodle trong quá trình hoạt động (nằm trong folder moodledata).
  3. Những thay đổi về mặt coding đối với moodle

Backup dữ liệu tại database MySQL

Backup MySQL bằng cơ chế mysqldump native của MySQL. (Hướng dẫn chi tiết mysqldump)

Ví dụ sử dụng mysqldump:

cd /my/backup/directory
mv moodle-database.sql.gz moodle-database-old.sql.gz
mysqldump --default-character-set=utf8mb4 -h example.com -u myusername --password=mypassword -C -Q -e --create-options mydatabasename > moodle-database.sql
gzip moodle-database.sql
Lúc này toàn bộ dữ liệu trong database đã được 'dump' vào file moodle-database.sql. Để ngay lập tức tái tạo lại database này, ta dùng file .sql như sau:
mysql -h hostname -u user database < path/to/test.sql

Lưu ý: Kích thước database càng lớn, thì thời gian mysqldump sẽ càng lâu và kích thước file .sql sẽ càng lớn.

Backup dữ liệu tại thư mục moodledata

Vì bản chất là một thư mục, ta có thể nén thư mục này là và lưu trữ tại một vị trí khác. Ví dụ:

zip -r moodledata.zip moodledata

Khi nào cần khôi phục dữ liệu thì giải nén lại file moodledata.zip bằng lệnh:

unzip moodledata.zip -d /path/to/moodledata

Backup dữ liệu code đã thay đổi

Tương tụ như backup thư mục moodledata, thư mục này có thể được backup bằng cách nén file '.zip' và lưu trữ ở vị trí khác. Vị trí code mặc định sẽ nằm tại webserver:

/var/www/html/moodle

Khôi phục / Thay đổi thư mục backup

Trong trường hợp cần thay đổi vị trí của thư mục mooldedata như: Chuyển thư mục sang ổ đĩa khác hoặc khi đổi thành thư mục backup. Dùng quyền sudo để thay đổi config của webserver Apache2, chỉnh sửa tệp tin /var/www/html/moodle/config.php:

$CFG->dataroot  = '{ đường dẫn mới }';

Refresh và kiểm tra lại xem thay đổi đã được cập nhật hay chưa? Nếu chưa, restart lại webserver bằng lệnh:

sudo systemctl restart apache2

Tự động hóa backup

Moodle không có cơ chế backup tự động, nên thông qua việc sử dụng một số tool của thứ ba để định kỳ backup dữ liệu:

Backup Course

Backup Course là cơ chế sao lưu nội dung từng course riêng biệt, tự động và định kì.

  • Ưu điểm:

    • Tự động thực hiện sao lưu.
    • Có báo cáo (report) trên từng khóa học. Tình trạng sao lưu của mỗi khóa học sẽ bao gồm 4 trạng thái: OK, Skipped, Unfinished, Error.
  • Nhược điểm:

    • Hiệu năng tốn kém hơn so với phương pháp Backup Site. Trong quá trình backup, hiệu năng của sinh viên / giảng viên khi sử dụng có thể bị ảnh hưởng (lag / refresh / không đồng bộ data).
    • Đây là sao lưu khóa học, tức là không sao lưu các tài khoản (tên đăng nhập, password), các thay đổi của admin đối với hệ thống.
    • Thời gian hồi phục lâu hơn so với phương pháp Backup Site.
  • Hướng dẫn chi tiết Backup Course.