$svn_root = "/var/svn-repos"; $backup_dir = "/home/backup/svn"; @files = <$svn_root>; foreach (@files) { $next_backup_file = "weekly-full-backup-$_." . `date +%Y%m%d`; $youngest = `svnlook youngest $svn_root/$_`; chomp $youngest; print "Backing up $_ to revision $youngest\n"; $svnadmin.cmd = "svnadmin dump --revision 0:$youngest $svn_root/$_ > $backup_dir/$next_backup_file"; `$svnadmin.cmd`; print "Compressing dump file...\n"; print `gzip -9 $backup_dir/$next_backup_file`; open(LOG, ">$backup_dir/$_.last.backed.up"); print LOG $youngest; close LOG; }