]> andersk Git - moira.git/blob - gen/winstats.gen
Command line printer manipulation client, and build goo.
[moira.git] / gen / winstats.gen
1 #!/moira/bin/perl -Tw
2
3 # $Id$
4
5 # The following exit codes are defined and MUST BE CONSISTENT with the
6 # error codes the library uses:
7 $MR_DBMS_ERR = 47836421;
8 $MR_OCONFIG = 47836460;
9
10 $ENV{PATH} = "/bin:/usr/bin:/sbin:/usr/sbin";
11
12 $outdir = '/moira/dcm/winstats';
13 $outfile = '/moira/dcm/winstats.out';
14
15 use DBI;
16
17 $dbh = DBI->connect("dbi:Oracle:moira", "moira", "moira")
18     || exit $MR_DBMS_ERR;
19
20 umask 022;
21
22 # mcntmap table
23 $sth = $dbh->prepare("SELECT mach_id, cnt_id FROM mcntmap")
24     || exit $MR_DBMS_ERR;
25
26 $sth->execute || exit $MR_DBMS_ERR;
27
28 open(OUT, ">$outdir/mcntmap") || exit $MR_OCONFIG;
29
30 while (($mach_id, $cnt_id) = $sth->fetchrow_array) {
31     $row = "$mach_id\t$cnt_id\n";
32     $row =~ s/\0//g;
33     print OUT $row;
34 }
35 close(OUT);
36
37 # machine table
38 $sth = $dbh->prepare("SELECT m.name, m.mach_id FROM machine m, " .
39                     "mcntmap mc WHERE m.mach_id = mc.mach_id")
40     || exit $MR_DBMS_ERR;
41
42 $sth->execute || exit $MR_DBMS_ERR;
43
44 open(OUT, ">$outdir/machine") || exit $MR_OCONFIG;
45
46 while (($name, $mach_id) = $sth->fetchrow_array) {
47     $row = "$name\t$mach_id\n";
48     $row =~ s/\0//g;
49     print OUT $row;
50 }
51 close(OUT);
52
53 # containers table
54 $sth = $dbh->prepare("SELECT name, cnt_id, list_id, publicflg, description, " .
55                      "location, contact, acl_type, acl_id, memacl_type, memacl_id, " .
56                      "modtime, modby, modwith FROM containers")
57     || exit $MR_DBMS_ERR;
58
59 $sth->execute || exit $MR_DBMS_ERR;
60
61 open(OUT, ">$outdir/containers") || exit $MR_OCONFIG;
62
63 while (($name, $cnt_id, $list_id, $publicflg, $description, $location, $contact,
64         $acl_type, $acl_id, $memacl_type, $memacl_id, $modtime, $modby, $modwith)
65        = $sth->fetchrow_array) {
66     $row = "$name\t$cnt_id\t$list_id\t$publicflg\t$description\t$location\t$contact\t$acl_type\t$acl_id\t$memacl_type\t$memacl_id\t$modtime\t$modby\t$modwith\n";
67     $row =~ s/\0//g;
68     print OUT $row;
69 }
70 close(OUT);
71
72 # generate tar file
73
74 system("cd $outdir && tar cf $outfile .") == 0 || exit $MR_OCONFIG;
75
76 $dbh->disconnect;
77
78 exit 0;
79
This page took 0.040488 seconds and 5 git commands to generate.