Làm thế nào để sao lưu kho lưu trữ Subversion của tôi hàng đêm? Tôi có một ổ đĩa mạng tôi muốn đổ kho đến trên cơ sở hàng đêm.Tự động sao lưu kho lưu trữ Subversion
Trả lời
Khám phá Repository Maintenance chương trong Sách về cách kéo đổ khỏi kho. Sau đó, hãy sử dụng dịch vụ được hẹn giờ (at
hoặc cron
ví dụ hoặc bộ lập lịch tác vụ rất đẹp trong Windows OS, tùy thuộc vào hệ thống của máy chủ) để thực hiện kết xuất hàng đêm. Làm xong.
Sách SVN có một phần trên Repository Backup.
Lệnh svnadmin hotcopy
cho phép bạn sao lưu an toàn một kho lưu trữ trực tiếp.
Lệnh svnsync
là một khả năng khác.
Tôi vừa viết kịch bản ngắn để thực hiện công việc. Lần chạy đầu tiên thực hiện sao lưu toàn bộ, mọi lần chạy tiếp theo chỉ làm tăng số lần commit cuối cùng trong lần sao lưu cuối cùng. các tệp sao lưu sẽ nhận được số lần sửa đổi cuối cùng để theo dõi quy trình.
Thiết lập cài đặt đúng cho
WORKDIR=path to where this script resists
SVN_REPO_LOCATION=path to where the repository resists on hd
BACKUPDIR=path to where the backup should goes to
SVN_LOACTION=root location which you use in your svn command
và thêm đoạn mã để cronjob, thats nó.
#!/bin/bash
WORKDIR=/home/user/svnbackup
SVN_REPO_LOCATION=/opt/svn
BACKUPDIR=./backup
SVN_LOACTION=https://mysvn.server.com/svn
cd $WORKDIR;
CURRENT_VERSION=`svn info $SVN_LOACTION | grep Revision | awk '{print $2}'`
LAST_VERSION=`cat svn.version 2>/dev/null`
mkdir -p $BACKUPDIR;
if [ "$LAST_VERSION" = "" ]
then
echo fullbackup;
svnadmin dump -q $SVN_REPO_LOCATION > $BACKUPDIR/svn_backup_$CURRENT_VERSION.dump;
echo $CURRENT_VERSION > svn.version;
else
if [ "$LAST_VERSION" == "$CURRENT_VERSION" ]
then
echo backup not necessary;
else
echo incremental;
svnadmin dump -q $SVN_REPO_LOCATION -r$LAST_VERSION:$CURRENT_VERSION --incremental > $BACKUPDIR/svn_backup_$CURRENT_VERSION.dump;
echo $CURRENT_VERSION > svn.version;
fi
fi
tùy thuộc vào kích thước của kho lưu trữ không phải là phương pháp tốt nhất để thực hiện việc này, vì việc tạo bãi chứa và khôi phục kết xuất sẽ mất một thời gian. Bạn nên sử dụng svnadmin hotcopy –
liên kết tới SVNBook chuyển sang phiên bản lỗi thời – bahrep