+++ /dev/null
-#!/usr/bin/perl
-
-use DBI;
-$hostname = 'localhost'; # Host that serves the mSQL Database
-$dbname = 'snmp'; # mySQL Database name
-$doit = 1;
-
-sub usage {
- print "$0 [-H sqlhost] [-u user] [-p password] [-d] [-n]\n";
- exit 0;
-}
-
-while ($#ARGV > -1 && $ARGV[0] =~ /^-/) {
- $_ = shift @ARGV;
- usage if (/-h/);
- $hostname = shift if (/-H/);
- $user = shift if (/-u/);
- $pass = shift if (/-p/);
- $delete = 1 if (/-d/);
- $verbose = 1 if (/-v/);
- $doit = 0 if (/-n/);
-}
-
-( $dbh = DBI->connect("DBI:mysql:database=$dbname;host=$hostname", $user, $pass))
- or die "\tConnect not ok: $DBI::errstr\n";
-
-# run a whole ton of setup stuff
-
-if ($delete) {
- DO("drop database if exists $dbname");
-}
-
-# here we go
-
-DO("create database $dbname");
-DO("use $dbname");
-
-# tables dumped with
-#
-# mysqldump -d ... snmp TABLE | perl -n -e 'while(<>) { last if (/CREATE/);} print "DO(\"$_"; while (<>) { last if (/\);/); print; } print ")\");\n";'
-
-DO("CREATE TABLE hosterrors (
- id int(11) DEFAULT '0' NOT NULL auto_increment,
- host varchar(64),
- errormsg varchar(128),
- PRIMARY KEY (id)
-)");
-
-DO("CREATE TABLE hosttables (
- id int(11) DEFAULT '0' NOT NULL auto_increment,
- host varchar(64),
- tablename varchar(64),
- groupname varchar(32),
- keephistory int(2),
- PRIMARY KEY (id)
-)");
-
-DO("CREATE TABLE usergroups (
- id int(11) DEFAULT '0' NOT NULL auto_increment,
- user varchar(16),
- groupname varchar(32),
- isadmin enum('N','Y') DEFAULT 'N',
- PRIMARY KEY (id)
-)");
-
-DO("CREATE TABLE userprefs (
- id int(11) DEFAULT '0' NOT NULL auto_increment,
- user varchar(16),
- groupname varchar(32),
- tablename varchar(64),
- columnname varchar(64),
- displayit enum('N','Y') DEFAULT 'Y',
- PRIMARY KEY (id)
-)");
-
-DO("CREATE TABLE hostgroups (
- id int(11) DEFAULT '0' NOT NULL auto_increment,
- host varchar(64),
- groupname varchar(32),
- sysObjectId varchar(255),
- sysDescr varchar(255),
- versionTag varchar(32),
- sysUpTime varchar(64),
- PRIMARY KEY (id)
-)");
-
-DO("CREATE TABLE oncall (
- id int(11) DEFAULT '0' NOT NULL auto_increment,
- user varchar(16),
- groupname varchar(32),
- email varchar(64),
- days varchar(64),
- hours varchar(64),
- PRIMARY KEY (id)
-)");
-
-DO("CREATE TABLE errorexpressions (
- id int(11) DEFAULT '0' NOT NULL auto_increment,
- tablename varchar(64),
- expression varchar(255),
- returnfield varchar(64),
- PRIMARY KEY (id)
-)");
-
-DO("CREATE TABLE setup (
- lookup varchar(64),
- varcol varchar(128),
- valcol varchar(128)
-)");
-
-DO("CREATE TABLE authgroup (
- id int(11) DEFAULT '0' NOT NULL auto_increment,
- lookup varchar(64),
- varcol varchar(128),
- valcol varchar(128),
- PRIMARY KEY (id)
-)");
-
-DO("CREATE TABLE authhost (
- id int(11) DEFAULT '0' NOT NULL auto_increment,
- lookup varchar(64),
- varcol varchar(128),
- valcol varchar(128),
- PRIMARY KEY (id)
-)");
-
-# insert the standard ucd-snmp expressions
-DO("insert into errorexpressions(tablename, expression, returnfield)
- values('prTable', 'prErrorFlag > 0', 'prErrMessage')");
-DO("insert into errorexpressions(tablename, expression, returnfield)
- values('extTable', 'extResult > 0', 'extOutput')");
-DO("insert into errorexpressions(tablename, expression, returnfield)
- values('dskTable', 'dskErrorFlag > 0', 'dskErrMessage')");
-DO("insert into errorexpressions(tablename, expression, returnfield)
- values('laTable', 'laErrorFlag > 0', 'laErrMessage')");
-DO("insert into errorexpressions(tablename, expression, returnfield)
- values('fileTable', 'fileErrorFlag > 0', 'fileErrMessage')");
-DO("insert into errorexpressions(tablename, expression, returnfield)
- values('snmperrs', 'snmperrErrorFlag > 0', 'snmperrErrMessage')");
-DO("insert into errorexpressions(tablename, expression, returnfield)
- values('memory', 'memSwapError > 0', 'memSwapErrMessage')");
-
-$dbh->disconnect();
-
-sub DO {
- my $cmd = shift;
- print $cmd,"\n" if ($verbose);
- $dbh->do($cmd) if ($doit);
-}