setupuser
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:1k
源码类别:

SNMP编程

开发平台:

Unix_Linux

  1. #!/usr/bin/perl
  2. use DBI;
  3. $hostname = 'localhost';          # Host that serves the mSQL Database
  4. $dbname = 'snmp';                 # mySQL Database name
  5. $doit = 1;
  6. sub usage {
  7.     print "$0 [-H host] [-u user] [-p password] [-v] [-h] [-n] [-d] [-a] GROUP USER EMAILADDRESSn";
  8.     exit 0;
  9. }
  10. while ($#ARGV > -1 && $ARGV[0] =~ /^-/) {
  11.     $_ = shift @ARGV;
  12.     usage if (/-h/);
  13.     $hostname = shift if (/-H/);
  14.     $sqluser = shift if (/-u/);
  15.     $pass = shift if (/-p/);
  16.     $admin = 1 if (/-a/);
  17.     $verbose = 1 if (/-v/);
  18.     $delete = 1 if (/-d/);
  19.     $doit = 0 if (/-n/);
  20. }
  21. ($group, $user, $email) = @ARGV;
  22. die "group $group is a reserved group name, you can't use it.  Sorry." if ($group eq "default");
  23. die "no group specified" if (!defined($group));
  24. ( $dbh = DBI->connect("DBI:mysql:database=$dbname;host=$hostname", $sqluser, $pass))
  25.     or die "tConnect not ok: $DBI::errstrn";
  26. DO("insert into usergroups(user, groupname, isadmin) values('$user', '$group', " . (($admin) ? "'Y'" : "'N'") . ")");
  27. if (defined($email)) {
  28.     DO("insert into oncall(user, groupname, email, days, hours) values('$user', '$group', '$email', '*', '*')");
  29. }
  30. $dbh->disconnect();
  31. sub DO {
  32.     my $cmd = shift;
  33.     print $cmd,"n" if ($verbose);
  34.     $dbh->do($cmd) if ($doit);
  35. }