/[BackupPC]/trunk/xls2conf/xls2conf.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/xls2conf/xls2conf.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 132 by dpavlin, Fri Sep 23 10:13:49 2005 UTC revision 302 by dpavlin, Fri Jan 27 17:45:49 2006 UTC
# Line 11  my $oBook = Spreadsheet::ParseExcel::Wor Line 11  my $oBook = Spreadsheet::ParseExcel::Wor
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++) {
# Line 41  foreach my $sheet (@{$oBook->{Worksheet} Line 42  foreach my $sheet (@{$oBook->{Worksheet}
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                  }                  }
# Line 54  foreach my $sheet (@{$oBook->{Worksheet} Line 53  foreach my $sheet (@{$oBook->{Worksheet}
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}) {
# Line 84  print O qq` Line 83  print O qq`
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                  }                  }

Legend:
Removed from v.132  
changed lines
  Added in v.302

  ViewVC Help
Powered by ViewVC 1.1.26