Making Backups

From ULYSSIS documentation

ULYSSIS takes backups of all files, databases, settings and repositories 1-4 times a week. These backups can be restored in case of severe server failure or in case of an emergency (if for example a user by mistake deletes all of their site). An account holder who made a mistake and would like certain files restored can simply send us an email explaining what has happened, why certain files or folders need to be restored, when things went wrong, and finally list those files or folders. We will then try to find a suitable backup from before the date and time where things went wrong. Keep in mind that restoring backups is a slow process. It is therefore more convenient that users take their own backups when they do experiments on their account and then remove those backups once the experiments are done.

A backup of your files

You can use the methods described in Accessing your files to download a copy of all of your files or specific folders you will be working on. If something goes wrong, you can easily restore files to a previous state by re-uploading those you have downloaded and saved.

A backup of your databases

To take a backup of your database you simply use the export function of PHPMyAdmin, PHPPgAdmin and/or Adminer as described on Using PHPMyAdmin, Using PHPPgAdmin and Using Adminer.

If you are backing up and/or restoring a larger database, it's advisable to use command line tools since they are more performant than the web-based tools and don't have any timeouts that could interrupt your backup/restore.

MySQL command line

To take a backup, execute the following command on one of our shellservers (with the right database name filled in):

mysqldump -h mysql.ulyssis.org -p username_database > backup.sql

This will prompt you for your database password (please refer to Using MySQL if you don't know your password) and then dump the entire database to backup.sql file as SQL.

To restore your backup you can use the mysql command on one of our shellservers (with the right database name filled in), whatever SQL file you specify will be executed:

mysql -h mysql.ulyssis.org -p username_database < backup.sql

Please keep in mind that by default mysqldump includes statements in the SQL file that will delete all tables that will be restored.

If you wish to have more control over different settings when taking or restoring please, you can refer to the respective man pages of mysqldump and mysql using man mysqldump and man mysql

PostgreSQL command line

To take a backup, execute the following command on one of our shellservers (with the right database name filled in):

pg_dump -h pgsql.ulyssis.org -W --clean username_database > backup.sql

This will prompt you for your database password (please refer to Using PostgreSQL if you don't know your password) and then dump the entire database to backup.sql file as SQL with COPY statements. If you prefer INSERT instead of COPY statements, you can add --inserts to your command.

To restore your backup you can use the pg_restore command on one of our shellservers (with the right database name filled in), whatever SQL file you specify will be executed:

psql -h pgsql.ulyssis.org -W username_database < backup.sql

Please keep in mind that because we specified --clean earlier, our SQL file includes statements that will delete all tables, sequences, functions and schemas that will be restored.

If you wish to have more control over different settings when taking or restoring please, you can refer to the respective man pages of pg_dump and psql using man pg_dump and man psql