Changes between Version 1 and Version 2 of TracBackup
- Timestamp:
- Nov 1, 2019, 11:11:25 AM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracBackup
v1 v2 1 = Trac Backup = 1 = Trac Backup 2 2 3 [[TracGuideToc]] 3 4 4 Since Trac uses a database backend, some extra care is required to safely create a backup of a [wiki:TracEnvironment project environment]. Luckily, [wiki:TracAdmin trac-admin] has a command to make backups easier: `hotcopy`.5 Trac backups are a copied snapshot of the entire [TracEnvironment project environment] directory, including the database. Backups can be created using the `hotcopy` command of [TracAdmin trac-admin]. 5 6 6 ''Note: Trac uses the `hotcopy` nomenclature to match that of [http://subversion.tigris.org/ Subversion], to make it easier to remember when managing both Trac and Subversion servers.'' 7 '''Note''': Trac uses the `hotcopy` nomenclature to match that of [http://subversion.tigris.org/ Subversion], to make it easier to remember when managing both Trac and Subversion servers. 7 8 8 == Creating a Backup ==9 == Creating a Backup 9 10 10 To create a backup of a live TracEnvironment, simply run:11 {{{ 12 11 Create a backup of a live TracEnvironment by running: 12 {{{#!sh 13 $ trac-admin /path/to/projenv hotcopy /path/to/backupdir 13 14 }}} 14 15 15 [wiki:TracAdmin trac-admin] will lock the database while copying.'' 16 The database will be locked while hotcopy is running. 16 17 17 18 The resulting backup directory is safe to handle using standard file-based backup tools like `tar` or `dump`/`restore`. 18 19 19 === Restoring a Backup === 20 Please note, the `hotcopy` command will not overwrite a target directory. When the target exists the operation will end with an error: `Command failed: [Errno 17] File exists:` This is discussed in [trac:#3198 #3198]. 20 21 21 Backups are simply a copied snapshot of the entire [wiki:TracEnvironment project environment] directory, including the SQLite database. 22 == Restoring a Backup 22 23 23 To restore an environment from a backup, s imply stop the process running Trac (i.e. the Web server or [wiki:TracStandalone tracd]), restore the directory structure from the backup and restart the service.24 To restore an environment from a backup, stop the process running Trac, ie the web server or [TracStandalone tracd], restore the contents of your backup to your [TracEnvironment project environment] directory and restart the process. 24 25 25 ''Note: Automatic backup of environments that don't use SQLite as database backend is not supported at this time. As a workaround, we recommend that you stop the server, copy the environment directory, and make a backup of the database using whatever mechanism is provided by the database system.'' 26 If you are using a database other than SQLite, you'll need to restore the database from the dump file. The dump file is saved in the environment `db` directory. 27 28 To restore a PostgreSQL database backup, use the command: 29 {{{#!sh 30 $ psql -U <user> -d <database> -f /path/to/postgresql.dump 31 }}} 32 33 The `<database>` option is the same as the [TracEnvironment#DatabaseConnectionStrings database connection string] in the [TracIni#trac-database-option "[trac] database"] option of the project's `trac.ini` file. 34 35 Similarly, for MySQL: 36 37 {{{#!sh 38 $ mysql -u <user> -p <database> < /path/to/mysql.dump 39 }}} 26 40 27 41 ---- 28 See also: TracAdmin, TracEnvironment, TracGuide42 See also: TracAdmin, TracEnvironment, [trac:TracMigrate TracMigrate]