setupauth

来自「开发snmp的开发包有两个开放的SNMP开发库」· 代码 · 共 60 行

TXT
60
字号
#!/usr/bin/perluse DBI;$hostname = 'localhost';          # Host that serves the mSQL Database$dbname = 'snmp';                 # mySQL Database name$doit = 1;sub usage {    print "$0 [-H host] [-u user] [-p password] [-v] [-h] [-n] [-g groupname] [-m machinename] TOKEN VALUE\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/);    $group = shift if (/-g/);    $machine = shift if (/-m/);    $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";if (defined($machine)) {    $table = "authhost";    $group = $machine;} else {    $table = "authgroup";    $group = "default" if (!defined($group));}$token = shift;$value = shift;while(defined($value)) {    if (DO("select * from $table where lookup = '$group' and varcol = '$token'") eq "0E0") {	DO("insert into $table(lookup, varcol, valcol) values('$group', '$token', '$value')");    } else {	DO("update $table set valcol = '$value' where lookup = '$group' and varcol = '$token'");    }    $token = shift;    $value = shift;}$dbh->disconnect();sub DO {    my $cmd = shift;    print $cmd,"\n" if ($verbose);    my $ret = $dbh->do($cmd) if ($doit);    print "  returned: $ret\n" if ($verbose);    if ($DBI::errstr) {	print "db error ($ret): $DBI::errstr\n";    }    return $ret;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?