Changes between Version 1 and Version 2 of TracBackup


Ignore:
Timestamp:
Jul 2, 2017 12:39:40 PM (3 weeks ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracBackup

    v1 v2  
    1 = Trac Backup =
     1= Trac Backup
     2
    23[[TracGuideToc]]
    34
    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`.
     5Trac 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].
    56
    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.
    78
    8 == Creating a Backup ==
     9== Creating a Backup
    910
    10 To create a backup of a live TracEnvironment, simply run:
    11 {{{
    12 
    13   $ trac-admin /path/to/projenv hotcopy /path/to/backupdir
    14 
     11Create a backup of a live TracEnvironment by running:
     12{{{#!sh
     13$ trac-admin /path/to/projenv hotcopy /path/to/backupdir
    1514}}}
    1615
    17 [wiki:TracAdmin trac-admin] will lock the database while copying.''
     16The database will be locked while hotcopy is running.
    1817
    1918The resulting backup directory is safe to handle using standard file-based backup tools like `tar` or `dump`/`restore`.
    2019
    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 #3198].
     20Please 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].
    2221
    23 === Restoring a Backup ===
     22== Restoring a Backup
    2423
    25 Backups are simply a copied snapshot of the entire [wiki:TracEnvironment project environment] directory, including the SQLite database.
     24To 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.
    2625
    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.
     26If 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.
    2827
    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.''
     28To restore a PostgreSQL database backup, use the command:
     29{{{#!sh
     30$ psql -U <user> -d <database> -f /path/to/postgresql.dump
     31}}}
     32
     33The `<database>` option is the same as the [TracEnvironment#DatabaseConnectionStrings database connection string] in the [TracIni#trac-database-option "[trac] database"] option of //trac.ini//.
     34
     35Similarly, for MySQL:
     36
     37{{{#!sh
     38$ mysql -u <user> -p <database> < /path/to/mysql.dump
     39}}}
    3040
    3141----
    32 See also: TracAdmin, TracEnvironment, TracGuide, TracMigrate
     42See also: TracAdmin, TracEnvironment, [trac:TracMigrate TracMigrate]