1. 程式人生 > >Linux下SVN的三種備份方式

Linux下SVN的三種備份方式

$youngest=`svnlook youngest $svn_repos`;
chomp $youngest;
if ($youngest eq $previous_youngest)
{
  print "No new revisions to backup./n";
  exit 0;
}
my $first_rev = $previous_youngest + 1;
print "Backing up revisions $youngest .../n";
my $svnadmin_cmd = "svnadmin dump --incremental --revision $first_rev:$youngest $svn_repos > $backup_dir/$next_backup_file";
`$svnadmin_cmd`;
open(LOG,">$backup_dir/last_backed_up"); #記錄備份的版本號
print LOG $youngest;
close LOG;
#如果想節約空間,則再執行下面的壓縮指令碼
print "Compressing dump file.../n";
print `gzip -g $backup_dir/$next_backup_file`;
  
   4)配置/etc/crontab檔案
   配置 /etc/crontab 檔案,指定每週六執行weekly_backup.pl,指定週一到週五執行daily_backup.pl;
   具體步驟俺就不囉嗦了.
  
   5)備份恢復檢查
   在月底恢復檢查中或者在災難來臨時,請按照如下步驟進行恢復:恢復順序從低版本逐個恢復到高版本;即,先恢復最近的一次完整備份weekly_full_backup.071201(舉例),然後恢復緊挨著這個檔案的增量備份daily_incremental_backup.071202,再恢復後一天的備份071203,依次類推。如下:
user1>mkdir newrepos
user1>svnadmin create newrepos
user1>svnadmin load newrepos < weekly_full_backup.071201
user1>svnadmin load newrepos < daily_incremental_backup.071202
user1>svnadmin load newrepos < daily_incremental_backup.071203
....