RedmineBackupRestore » History » Revision 7
« Previous |
Revision 7/14
(diff)
| Next »
Gerd Pokorra, 2018-07-31 18:08
Backing up and restoring Redmine¶
- Table of contents
- Backing up and restoring Redmine
Backup¶
Redmine backups should include:- Database
- Attachments (stored in the
filesdirectory 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¶
TODO
Restoring attachments¶
TODO
Updated by Gerd Pokorra about 7 years ago · 7 revisions