source: trunk/third/moira/gen/winstats.gen @ 23740

Revision 23740, 2.0 KB checked in by broder, 16 years ago (diff)
In moira: * New CVS snapshot (Trac: #195) * Drop patches that have been incorporated upstream. * Update to build without krb4 on systems that no longer have it. This doesn't build yet on squeeze, which lacks a krb4 library, but I'm committing now before I start hacking away at a patch to fix that.
  • Property svn:executable set to *
Line 
1#!/moira/bin/perl -Tw
2
3# $Id: winstats.gen,v 1.1 2003-12-15 20:16:23 zacheiss Exp $
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
15use DBI;
16
17$dbh = DBI->connect("dbi:Oracle:moira", "moira", "moira")
18    || exit $MR_DBMS_ERR;
19
20umask 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
28open(OUT, ">$outdir/mcntmap") || exit $MR_OCONFIG;
29
30while (($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}
35close(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
44open(OUT, ">$outdir/machine") || exit $MR_OCONFIG;
45
46while (($name, $mach_id) = $sth->fetchrow_array) {
47    $row = "$name\t$mach_id\n";
48    $row =~ s/\0//g;
49    print OUT $row;
50}
51close(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
61open(OUT, ">$outdir/containers") || exit $MR_OCONFIG;
62
63while (($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}
70close(OUT);
71
72# generate tar file
73
74system("cd $outdir && tar cf $outfile .") == 0 || exit $MR_OCONFIG;
75
76$dbh->disconnect;
77
78exit 0;
79
Note: See TracBrowser for help on using the repository browser.