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++) { |
53 |
$path =~ s#^[cd]:\\#/#gi; |
$path =~ s#^[cd]:\\#/#gi; |
54 |
$path =~ s#\\#/#g; |
$path =~ s#\\#/#g; |
55 |
|
|
56 |
open(O, "> conf/${conf_name}.pl") || die "can't open ${conf_name}.pl"; |
open(O, "> conf/${conf_name}.pl") || die "can't open conf/${conf_name}.pl: $!"; |
57 |
|
|
58 |
if ($os =~ m#(98|95)#) { |
if ($os =~ m#(98|95|9x)#i) { |
59 |
|
|
60 |
print "$ip\tsmb://${share}\n"; |
print "$ip\tsmb://${share}\n"; |
61 |
|
|
62 |
push @{$smb_share_name{$hostname}}, $share; |
push @{$smb_share_name{$conf_name}}, $share; |
63 |
|
|
64 |
print O qq` |
print O qq` |
65 |
# $ip $os |
# $conf_name on $hostname $ip, $os |
66 |
\$Conf{XferMethod} = 'smb'; |
\$Conf{XferMethod} = 'smb'; |
67 |
\$Conf{SmbHostName} = '$hostname'; |
\$Conf{SmbHostName} = '$hostname'; |
68 |
\$Conf{SmbShareName} = [ '`,join("','", @{$smb_share_name{$hostname}}),qq`' ]; |
\$Conf{SmbShareName} = [ '`,join("','", @{$smb_share_name{$conf_name}}),qq`' ]; |
69 |
`; |
`; |
70 |
|
|
71 |
if ($hosts{$ip}) { |
if ($hosts{$ip}) { |
75 |
} |
} |
76 |
} else { |
} else { |
77 |
|
|
78 |
|
sub case_insesitive { |
79 |
|
my $t = shift || return; |
80 |
|
return '[' . lc($t) . uc($t) . ']'; |
81 |
|
} |
82 |
|
|
83 |
|
$path =~ s/([a-zA-z])/case_insesitive($1)/ge; |
84 |
|
|
85 |
print "$ip\trsync://${share}::${path}\n"; |
print "$ip\trsync://${share}::${path}\n"; |
86 |
|
|
87 |
$path =~ s/([ '])/\\$1/g; |
$path =~ s/([ '])/\\$1/g; |
88 |
|
push @{$rsync_share_name{$conf_name}}, $path; |
89 |
|
|
90 |
print O qq` |
print O qq` |
91 |
# $ip $os |
# $conf_name on $hostname $ip, $os |
92 |
\$Conf{XferMethod} = 'rsyncd'; |
\$Conf{XferMethod} = 'rsyncd'; |
93 |
\$Conf{RsyncShareName} = [ '$rsync_share' ]; |
\$Conf{RsyncShareName} = [ '$rsync_share' ]; |
94 |
\$Conf{BackupFilesOnly} = [ '$rsync_share' => "$path" ]; |
\$Conf{BackupFilesOnly} = [ '$rsync_share' => '`, join("','$rsync_share' => '", @{$rsync_share_name{$conf_name}}), qq`' ]; |
95 |
`; |
`; |
96 |
|
|
97 |
} |
} |