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:
- Dữ liệu trong MySQL database.
- File được tải lên moodle trong quá trình hoạt động (nằm trong folder
moodledata
). - 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
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 database: Bổ sung sau
- Backup thư mục: Rsync in linux
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.