--- trunk/xls2conf/xls2conf.pl 2005/09/23 10:13:49 132 +++ trunk/xls2conf/xls2conf.pl 2006/01/27 17:45:49 302 @@ -11,10 +11,11 @@ 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++) { @@ -41,10 +42,8 @@ my $drive = lc(substr($path,0,1)); my $rsync_share; - if ($drive eq 'c') { - $rsync_share = 'cDrive'; - } elsif ($drive eq 'd') { - $rsync_share = 'dDrive'; + if ($drive eq 'c' || $drive eq 'd') { + $rsync_share = $drive . 'Drive'; } else { die "unknown drive '$drive' from path '$path'"; } @@ -54,17 +53,17 @@ 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"; - push @{$smb_share_name{$hostname}}, $share; + push @{$smb_share_name{$conf_name}}, $share; print O qq` -# $ip $os +# $conf_name on $hostname $ip, $os \$Conf{XferMethod} = 'smb'; \$Conf{SmbHostName} = '$hostname'; -\$Conf{SmbShareName} = [ '`,join("','", @{$smb_share_name{$hostname}}),qq`' ]; +\$Conf{SmbShareName} = [ '`,join("','", @{$smb_share_name{$conf_name}}),qq`' ]; `; if ($hosts{$ip}) { @@ -84,12 +83,21 @@ print "$ip\trsync://${share}::${path}\n"; $path =~ s/([ '])/\\$1/g; + push @{$rsync_share_name->{$conf_name}->{$rsync_share}}, $path; + my @shares = sort keys %{$rsync_share_name->{$conf_name}}; + my $rsync_share_names = "'" . join("','", @shares) . "'"; + my @backup_files_only; + foreach my $s (@shares) { + foreach my $p (@{$rsync_share_name->{$conf_name}->{$s}}) { + push @backup_files_only, "'$s' => '$p'"; + } + } print O qq` -# $ip $os +# $conf_name on $hostname $ip, $os \$Conf{XferMethod} = 'rsyncd'; -\$Conf{RsyncShareName} = [ '$rsync_share' ]; -\$Conf{BackupFilesOnly} = [ '$rsync_share' => "$path" ]; +\$Conf{RsyncShareName} = [ $rsync_share_names ]; +\$Conf{BackupFilesOnly} = [ `, join(",", @backup_files_only), qq` ]; `; }