|  | 1 | = Trac Backup | 
          
            |  | 2 |  | 
          
            |  | 3 | [[TracGuideToc]] | 
          
            |  | 4 |  | 
          
            |  | 5 | Backups are simply a copied snapshot of the entire [wiki:TracEnvironment project environment] directory, including the database. Backups can be created using the `hotcopy` command in [wiki:TracAdmin trac-admin]. | 
          
            |  | 6 |  | 
          
            |  | 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. | 
          
            |  | 8 |  | 
          
            |  | 9 | == Creating a Backup | 
          
            |  | 10 |  | 
          
            |  | 11 | To create a backup of a live TracEnvironment simply run: | 
          
            |  | 12 | {{{#!sh | 
          
            |  | 13 | $ trac-admin /path/to/projenv hotcopy /path/to/backupdir | 
          
            |  | 14 | }}} | 
          
            |  | 15 |  | 
          
            |  | 16 | [wiki:TracAdmin trac-admin] will lock the database while copying. | 
          
            |  | 17 |  | 
          
            |  | 18 | The resulting backup directory is safe to handle using standard file-based backup tools like `tar` or `dump`/`restore`. | 
          
            |  | 19 |  | 
          
            |  | 20 | Please note, the `hotcopy` command will not overwrite a target directory and when such exists, the operation ends with an error: `Command failed: [Errno 17] File exists:` This is discussed in [trac:ticket:3198 #3198]. | 
          
            |  | 21 |  | 
          
            |  | 22 | === Restoring a Backup | 
          
            |  | 23 |  | 
          
            |  | 24 | To restore an environment from a backup, stop the process running Trac, ie the Web server or [wiki:TracStandalone tracd], restore the contents of your backup (path/to/backupdir) to your [wiki:TracEnvironment project environment] directory and restart the service. | 
          
            |  | 25 |  | 
          
            |  | 26 | To restore a PostgreSQL database backup, use the command: | 
          
            |  | 27 | {{{#!sh | 
          
            |  | 28 | psql -U <user> -d <database> -f postgresql.dump | 
          
            |  | 29 | }}} | 
          
            |  | 30 | The `<database>` option is the same as the [TracEnvironment#DatabaseConnectionStrings database connection string] in the `[trac]` `database` option of //trac.ini//. | 
          
            |  | 31 |  | 
          
            |  | 32 | ---- | 
          
            |  | 33 | See also: TracAdmin, TracEnvironment, TracGuide, [trac:TracMigrate TracMigrate] |