I maintain an open edx server for my school. We did create contents for many courses and I need to backup all of them. For now, I have to do export contents for each courses. Is there any way to do the “system backup”? meaning to backup all courses content, not one by one.
I would strongly recommend that you regularly do a complete backup of your entire MongoDB and MySQL databases. If you are using a cloud provider like Atlas or AWS, they probably have a convenient option of doing that automatically. The upside is that you can restore your entire Open edX installation at any time, but it doesn’t easily let you restore individual courses.
If you also need to be able to restore individual courses one at a time, there is a management command export_all_courses. I haven’t tried it, but it sounds like it will do exactly what it says.
Since I am not famillier with open edx internal architecture, what is the purpose of using both MongoDB and MySQL? what kind of data are stored in that database?
MongoDB holds course data (the course content itself, that you author in Studio) and forum posts.
MySQL holds almost everything else - user data, grades, enrollment, and more.