Birçok proje için bilet sistemimiz olarak ayrı TRAC örnekleri kullanıyoruz ve felaketten kurtarma için günde birkaç kez saha dışına taşınmaları gerekiyor.
Bunu yapmanın en iyi yolu nedir? Subversion için svnsync'e benzer bir şey var mı ?
Birçok proje için bilet sistemimiz olarak ayrı TRAC örnekleri kullanıyoruz ve felaketten kurtarma için günde birkaç kez saha dışına taşınmaları gerekiyor.
Bunu yapmanın en iyi yolu nedir? Subversion için svnsync'e benzer bir şey var mı ?
Yanıtlar:
Trac ortamını tamamen kurtarmak için aşağıdakilere ihtiyacınız vardır:
Standart kurulum durumunda (BD arka uç olarak SQLite ile), yedeklemeniz gereken tek şey trac kurulum dir.
Ayrıca, yüklemeniz gereken tüm Python paketlerinin bir listesini oluşturmak da yararlı olacaktır easy_install
.
SVN + tam Trac örneğini bir .tar.gz dosyasına güvenle yedeklemek için bir komut dosyası kullandım. Oradan, diğer dosyalarla her zamanki gibi yedeklenebilir.
#!/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'a bir göz atmak isteyebilirsiniz :
Trac bir veritabanı arka ucu kullandığından, bir proje ortamının güvenli bir şekilde yedeklenmesini sağlamak için biraz dikkat etmek gerekir. Neyse ki, trac-admin yedeklemeleri kolaylaştıracak bir komuta sahiptir: hotcopy.
Not: Trac, hem Trac hem de Subversion sunucularını yönetirken hatırlamayı kolaylaştırmak için, Subversion'la eşleştirmek için hotcopy adlandırma sistemini kullanır.
Sqlite'ı arka uç olarak kullanıyorsanız (varsayılan ayar), dosyayı yeniden kopyalayabilirsiniz. Dosya boyutu (en azından bizim için) o kadar küçük ki, tutarlılığı ile hiç problem yaşamadık.