Backing up and restoring Redmine¶
- Table of contents
- Backing up and restoring Redmine
Backup¶
Redmine backups should include:- Database
- Attachments (stored in the
files
directory under the installation directory by default)
Backing up database¶
MySQL¶
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.
PostgreSQL¶
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.
SQLite¶
SQLite databases are all contained in a single file, so you can back them up by copying the file to another location.
You can determine the file name of SQLite database by looking at config/database.yml
.
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
Restore¶
Restoring a database¶
MySQL¶
For example if you have a gziped dump file with the name 2018-07-30.gz
, then the database can be restored with the following command:
gunzip -c 2018-07-30.gz | mysql -u <username> --password <redmine_database> Enter password:
PostgreSQL¶
When the option -Fc
of the command pg_dump
is used like it is at the above example then you need to use the command pg_restore
:
pg_restore -U <username> -h <hostname> -d <redmine_database> redmine.sqlc
otherwise a text file can be restored with psql
:
psql <redmine_database> < <infile>
SQLite¶
Copy the database file from the backup location.
Updated by Gerd Pokorra over 6 years ago · 9 revisions