added support for multiple shares using rsync
[BackupPC.git] / xls2conf / xls2conf.pl
index 9a3390d..c1b76ca 100755 (executable)
@@ -11,10 +11,11 @@ my $oBook = Spreadsheet::ParseExcel::Workbook->Parse($xls_file);
 my %bpc_hosts;
 my %hosts;
 my %smb_share_name;
+my %rsync_share_name;
 
 foreach my $sheet (@{$oBook->{Worksheet}}) {
-       if ($sheet->{Name} !~ m/Instruments/i) {
-#              print "# skipped sheet ",$sheet->{Name},"\n";
+       if ($sheet->{Name} !~ m/(Instruments|sheet1)/i) {
+               print "# skipped sheet ",$sheet->{Name},"\n";
                next;
        }
        for(my $i = $sheet->{MinRow} ; defined $sheet->{MaxRow} && $i <= $sheet->{MaxRow} ; $i++) {
@@ -54,7 +55,7 @@ foreach my $sheet (@{$oBook->{Worksheet}}) {
 
                open(O, "> conf/${conf_name}.pl") || die "can't open conf/${conf_name}.pl: $!";
 
-               if ($os =~ m#(98|95)#) {
+               if ($os =~ m#(98|95|9x)#i) {
 
                        print "$ip\tsmb://${share}\n";
 
@@ -84,12 +85,13 @@ print O qq`
                        print "$ip\trsync://${share}::${path}\n";
 
                        $path =~ s/([ '])/\\$1/g;
+                       push @{$rsync_share_name{$hostname}}, $path;
 
 print O qq`
 # $ip $os
 \$Conf{XferMethod} = 'rsyncd';
 \$Conf{RsyncShareName} = [ '$rsync_share' ];
-\$Conf{BackupFilesOnly} = [ '$rsync_share' => "$path" ];
+\$Conf{BackupFilesOnly} = [ '$rsync_share' => '`, join("','$rsync_share' => '", @{$rsync_share_name{$hostname}}), qq`' ];
 `;
 
                }