Cube Long Arrow Right External Link angle-right Search Times Spinner angle-left

Backing up Redmine before migration to RedmineUP cloud

Redmine backups should include:

  • Database
  • Attachments (stored in the files
    directory under the installation directory by default)

Backing up MySQL database:

The mysqldump command can be used to backup the contents of your MySQL database to a text file. For example:

/usr/bin/mysqldump -u <username> -p<password> -h <hostname> <redmine_database> > /path/to/backup/db/redmine.sql
You can find <username>, <password>, <hostname>, and <redmine_database> in the file config/database.yml. <host_name> may not be required depending on your installation of the database.
Backing up  PostgreSQL database:
The pg_dump command can be used to backup the contents of a PostgreSQL database to a text file. Here is an example:
/usr/bin/pg_dump -U <username> -h <hostname> -Fc --file=redmine.sqlc <redmine_database>
You can find <username>, <hostname>, and <redmine_database> in the file config/database.yml. <hostname> may not be required depending on your installation of the database. The pg_dump command will prompt you to enter the password when necessary.

Backing up attachments:

All file uploads are stored in attachments_storage_path (defaults to the files/ directory). You can copy the contents of this directory to another location to easily back it up.

WARNING: attachments_storage_path may point to a different directory other than files/. Be sure to check the setting in config/configuration.yml to avoid making a useless backup.

Sample backup script

Here is a simple shell script that can be used for daily backups (assuming you're using a MySQL database):

# Database
/usr/bin/mysqldump -u <username> -p<password> <redmine_database> | gzip > /path/to/backup/db/redmine_`date +%Y-%m-%d`.gz

# Attachments
rsync -a /path/to/redmine/files /path/to/backup/files