我们使用单独的追踪追踪系统实例作为我们许多项目的票务系统,并且需要每天将它们移出现场几次以进行灾难恢复。
实现这一目标的最佳方法是什么?有没有类似的东西同步为了颠覆?
答案1
要完全恢复 trac 环境,您需要执行以下操作:
- 备份数据库;
- 备份配置文件;
- 备份 wiki 文件(html 和附件);
- 如果您使用 htpasswd auth,请备份密码文件;
- 可选插件(尽管这些插件可供下载,但为了更快地恢复,我还是会备份它们);
对于标准设置(使用 SQLite 作为 BD 后端),这意味着您需要备份的只是 trac 安装目录的内容。
另外,创建需要安装的所有 Python 包的列表也会很有用easy_install
。
答案2
我使用脚本安全地将 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
答案3
你可能想看看Trac备份:
由于 Trac 使用数据库后端,因此需要格外小心才能安全地创建项目环境的备份。幸运的是,trac-admin 有一个命令可以让备份更容易:hotcopy。
注意:Trac 使用热复制命名法来匹配 Subversion,以便在管理 Trac 和 Subversion 服务器时更容易记住。
答案4
如果您使用 sqlite 作为后端(默认设置),则只需热复制文件即可。文件大小(至少对我们来说)非常小,因此我们从未遇到过一致性问题。