Changes between Version 2 and Version 3 of TracBackup
- Timestamp:
- 2023-04-20T18:47:43Z (19 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracBackup
v2 v3 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 [https://subversion.apache.org/ Subversion]. 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 13 $ trac-admin /path/to/projenv hotcopy /path/to/backupdir 14 11 Create a backup of a live TracEnvironment by running: 12 {{{#!sh 13 $ trac-admin /path/to/projenv hotcopy /path/to/backupdir 15 14 }}} 16 15 17 [wiki:TracAdmin trac-admin] will lock the database while copying.'' 16 The database will be locked while hotcopy is running. 18 17 19 18 The resulting backup directory is safe to handle using standard file-based backup tools like `tar` or `dump`/`restore`. 20 19 21 Please , note, that hotcopy command does not overwrite target directory and when such exists, hotcopy ends with error: `Command failed: [Errno 17] File exists:` This is discussed in trac:ticket:3198.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]. 22 21 23 == = Restoring a Backup ===22 == Restoring a Backup 24 23 25 Backups are simply a copied snapshot of the entire [wiki:TracEnvironment project environment] directory, including the SQLite database. 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. 26 25 27 To restore an environment from a backup, simply 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.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. 28 27 29 ''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.'' 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 }}} 30 40 31 41 ---- 32 See also: TracAdmin, TracEnvironment, TracGuide, TracMigrate42 See also: TracAdmin, TracEnvironment, [trac:TracMigrate TracMigrate]