11 |
my %bpc_hosts; |
my %bpc_hosts; |
12 |
my %hosts; |
my %hosts; |
13 |
my %smb_share_name; |
my %smb_share_name; |
14 |
|
my $rsync_share_name; |
15 |
|
|
16 |
foreach my $sheet (@{$oBook->{Worksheet}}) { |
foreach my $sheet (@{$oBook->{Worksheet}}) { |
17 |
if ($sheet->{Name} !~ m/Instruments/i) { |
if ($sheet->{Name} !~ m/(Instruments|sheet1)/i) { |
18 |
# print "# skipped sheet ",$sheet->{Name},"\n"; |
print "# skipped sheet ",$sheet->{Name},"\n"; |
19 |
next; |
next; |
20 |
} |
} |
21 |
for(my $i = $sheet->{MinRow} ; defined $sheet->{MaxRow} && $i <= $sheet->{MaxRow} ; $i++) { |
for(my $i = $sheet->{MinRow} ; defined $sheet->{MaxRow} && $i <= $sheet->{MaxRow} ; $i++) { |
42 |
my $drive = lc(substr($path,0,1)); |
my $drive = lc(substr($path,0,1)); |
43 |
|
|
44 |
my $rsync_share; |
my $rsync_share; |
45 |
if ($drive eq 'c') { |
if ($drive eq 'c' || $drive eq 'd') { |
46 |
$rsync_share = 'cDrive'; |
$rsync_share = $drive . 'Drive'; |
|
} elsif ($drive eq 'd') { |
|
|
$rsync_share = 'dDrive'; |
|
47 |
} else { |
} else { |
48 |
die "unknown drive '$drive' from path '$path'"; |
die "unknown drive '$drive' from path '$path'"; |
49 |
} |
} |
53 |
|
|
54 |
open(O, "> conf/${conf_name}.pl") || die "can't open conf/${conf_name}.pl: $!"; |
open(O, "> conf/${conf_name}.pl") || die "can't open conf/${conf_name}.pl: $!"; |
55 |
|
|
56 |
if ($os =~ m#(98|95)#) { |
if ($os =~ m#(98|95|9x)#i) { |
57 |
|
|
58 |
print "$ip\tsmb://${share}\n"; |
print "$ip\tsmb://${share}\n"; |
59 |
|
|
60 |
push @{$smb_share_name{$hostname}}, $share; |
push @{$smb_share_name{$conf_name}}, $share; |
61 |
|
|
62 |
print O qq` |
print O qq` |
63 |
# $ip $os |
# $conf_name on $hostname $ip, $os |
64 |
\$Conf{XferMethod} = 'smb'; |
\$Conf{XferMethod} = 'smb'; |
65 |
\$Conf{SmbHostName} = '$hostname'; |
\$Conf{SmbHostName} = '$hostname'; |
66 |
\$Conf{SmbShareName} = [ '`,join("','", @{$smb_share_name{$hostname}}),qq`' ]; |
\$Conf{SmbShareName} = [ '`,join("','", @{$smb_share_name{$conf_name}}),qq`' ]; |
67 |
`; |
`; |
68 |
|
|
69 |
if ($hosts{$ip}) { |
if ($hosts{$ip}) { |
83 |
print "$ip\trsync://${share}::${path}\n"; |
print "$ip\trsync://${share}::${path}\n"; |
84 |
|
|
85 |
$path =~ s/([ '])/\\$1/g; |
$path =~ s/([ '])/\\$1/g; |
86 |
|
push @{$rsync_share_name->{$conf_name}->{$rsync_share}}, $path; |
87 |
|
|
88 |
|
my @shares = sort keys %{$rsync_share_name->{$conf_name}}; |
89 |
|
my $rsync_share_names = "'" . join("','", @shares) . "'"; |
90 |
|
my @backup_files_only; |
91 |
|
foreach my $s (@shares) { |
92 |
|
foreach my $p (@{$rsync_share_name->{$conf_name}->{$s}}) { |
93 |
|
push @backup_files_only, "'$s' => '$p'"; |
94 |
|
} |
95 |
|
} |
96 |
print O qq` |
print O qq` |
97 |
# $ip $os |
# $conf_name on $hostname $ip, $os |
98 |
\$Conf{XferMethod} = 'rsyncd'; |
\$Conf{XferMethod} = 'rsyncd'; |
99 |
\$Conf{RsyncShareName} = [ '$rsync_share' ]; |
\$Conf{RsyncShareName} = [ $rsync_share_names ]; |
100 |
\$Conf{BackupFilesOnly} = [ '$rsync_share' => "$path" ]; |
\$Conf{BackupFilesOnly} = [ `, join(",", @backup_files_only), qq` ]; |
101 |
`; |
`; |
102 |
|
|
103 |
} |
} |