my %bpc_hosts;
my %hosts;
my %smb_share_name;
-my %rsync_share_name;
+my $rsync_share_name;
foreach my $sheet (@{$oBook->{Worksheet}}) {
if ($sheet->{Name} !~ m/(Instruments|sheet1)/i) {
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'";
}
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}) {
print "$ip\trsync://${share}::${path}\n";
$path =~ s/([ '])/\\$1/g;
- push @{$rsync_share_name{$hostname}}, $path;
-
+ 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' => '`, join("','$rsync_share' => '", @{$rsync_share_name{$hostname}}), qq`' ];
+\$Conf{RsyncShareName} = [ $rsync_share_names ];
+\$Conf{BackupFilesOnly} = [ `, join(",", @backup_files_only), qq` ];
`;
}