我们使用单独的TRAC实例作为许多项目的门票系统,并且需要让他们每天多次离开现场进行灾难恢复。
什么是最好的方式来做到这一点? 有没有类似于svnsync的颠覆?
要完全恢复trac环境,你需要以下的东西:
在标准设置的情况下(使用SQLite作为BD后端),这意味着您需要备份的所有内容都是trac安装目录的内容。
另外,创build您需要使用easy_install进行安装的所有Python包的列表将非常有用。
我已经使用脚本将SVN +完整的Trac实例安全地备份到.tar.gz文件中。 从那里,它可以像往常一样备份其他文件。
#!/bin/sh DATE=`date +%F-%H%M%S` nice svnadmin dump /var/svn/trac.example.com > dump.$DATE.svn nice trac-admin trac.example.com hotcopy trac.example.com-$DATE.trac # take the SVN dump, and trac hotcopy, put into a dated TGZ anc copy to /backup... nice tar czf svn-trac.$DATE.tar.gz backupTrac.sh startTracd.sh trac.htdigest \ trac.example.com-$DATE.trac dump.$DATE.svn && \ cp svn-trac.$DATE.tar.gz /backup/trac/ && rm -rf trac.example.com-$DATE.trac dump.$DATE.svn
你可能想看看TracBackup :
由于Trac使用数据库后端,因此需要特别注意安全地创build项目环境的备份。 幸运的是,trac-admin有一个使备份更简单的命令:hotcopy。
注意:Trac使用hotcopy命名法来匹配Subversion,以便在pipe理Trac和Subversion服务器时更容易记住。
如果您使用sqlite作为后端(默认设置),则可以仅对该文件进行热复制。 文件大小(至less对我们来说)是如此之小,以至于我们从来没有遇到过一致性的问题。