Backup user data

Is there a way to do automatic backups of user data to a usb drive plugged into my chromebook server? I don’t want to loose student accounts and progress if the chromebook dies.

We don’t currently have an automated process in place for backing up user data. My suggestion is to periodically save a copy of the database onto the usb (making sure the server is stopped first, to ensure the copy isn’t corrupted (by the source being modified partway through the copy process)).

Has the backup situation improved? Is there now an automated process to backup the Kolibri user data?

I am new to Kolibri and I am not familiar with how the data is organized. Searching around I can see that the Kolibri directory contains multiple databases. There is a management command for “dbbackup” but its unclear what that does. Does this backup all the databases or just the databases in the root of the Kolibri tree? Does it backup all user data? Do the databases in the content directory store user data? Do they need to be backed up or are they recreated when re-loading a module?

Basically, if someone can point me to all the files that need to be backed up to ensure user data is not lost I would much appreciate it. Thanks!

Hi @rsegal,
We don’t have an automated solution for backing up user data yet, although I believe there is something in the works :slight_smile:.

That said, if somebody wanted to write a fancy script that did automatic backups to a USB thumb drive, the dbbackup command should be all you need.

While Kolibri is running, user data is stored in the db.sqlite3 and db.sqlite3.wal and db.sqlite3.shm files. When Kolibri shuts down, all user data is consolidated into the db.sqlite3 file. (As far as I know, there isn’t any user data stored in the content directory).

The dbbackup command just creates a timestamped copy of that consolidated db.sqlite3 file and puts it in ./kolibri/backups.

I hope this gives you a good idea of how to proceed! Let me know if you have any other questions.

Micah

Sounds like the dbbackup command copies everything I need. Thanks!

-Rich