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). It is, however, more convenient that users take their own backups when they do experimental things on their account.

A backup of your files

You can use the graphical methods described in Accessing your files to download a copy of all of your files. This copy, or certain files, can then easily be uploaded again using the same method to restore backups

A backup of your databases

To take a backup of your database you simple 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 advised to use command line tools since they are more performant than webtools 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