많은 프로젝트에서 티켓 시스템으로 별도의 TRAC 인스턴스를 사용 하므로 재해 복구를 위해 하루에 여러 번 사이트 밖으로 이동해야합니다.
이를 수행하는 가장 좋은 방법은 무엇입니까? Subversion 에 svnsync 와 비슷한 것이 있습니까?
답변
trac 환경을 완전히 복구하려면 다음 사항이 필요합니다.
- 백업 DB;
- 백업 구성 파일;
- 백업 위키 파일 (html 및 첨부 파일);
- htpasswd 인증을 사용하는 경우 백업 비밀번호 파일;
- 선택적 플러그인 (다운로드 할 수는 있지만 빠른 복구를 위해 백업합니다).
표준 설정 (SQLite를 BD 백엔드로 사용)의 경우, 이는 백업해야 할 모든 것이 trac install dir의 내용임을 의미합니다.
또한 함께 설치해야하는 모든 Python 패키지 목록을 작성하는 것이 유용합니다 easy_install
.
답변
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은 데이터베이스 백엔드를 사용하므로 프로젝트 환경의 백업을 안전하게 작성하려면 약간의주의가 필요합니다. 운 좋게도 trac-admin에는 백업을보다 쉽게하기위한 명령이 있습니다 : 핫 카피.
참고 : Trac은 핫 카피 명명법을 사용하여 Subversion과 일치하므로 Trac 및 Subversion 서버를 모두 관리 할 때 더 쉽게 기억할 수 있습니다.
답변
sqlite를 백엔드로 사용하는 경우 (기본 설정) 파일을 핫 카피 할 수 있습니다. 파일 크기는 (적어도 우리에게는) 너무 작아서 일관성에 문제가 없었습니다.