关于 九月, 2010 的文章

分分钟搞定Redhat的SNMP服务

首先,在安装盘里面找到snmp相关的rpm包,然后全部安装:

net-snmp-utils
net-snmp-libs
net-snmp

接着,搞定snmp.conf配置文件:

# cd /etc/snmp/
# mv snmpd.conf snmpd.conf.old

# vim snmpd.conf
编辑完成以下内容:
========================================================
com2sec notConfigUser default public
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
view systemview included .1
access notConfigGroup "" any noauth exact systemview none none
syslocation HOSTNAME
syscontact Root root@localhost
pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat
========================================================
里面的“HOSTNAME”可以修改为主机名

最后,启动snmpd服务:
/etc/init.d/snmpd start

还有就是别忘记了把snmpd设置为开机自启动。
chkconfig snmpd on

No Comments

通过Perl脚本实现邮件客户端进行邮件交互测试

由于公司目前采用的自建邮件系统部署在内部机房,在网络链路上与国外,以及联通等网络存在着通讯的稳定性问题。

因此,随着企业邮箱使用的越来越频繁,这类问题反应越来越大,主要是国外出差的员工访问不了公司邮件系统,以及与其他公司通信时出现的邮件延迟甚至丢失情况。

因此,为了排除企业邮箱软件本身存在的Bug等造成的影响,特考虑进行一次大量的邮件交互测试,来确定软件本身是否存在问题。

在Linux下有很多办法可以实现,比如用Shell调用邮件本身的命令行指令等,但最好还是通过客户端的方式来实现,因为这种大量的测试行为会被其他邮箱认为是垃圾邮件行为的,把邮件服务器IP给纳入黑名单可不是好玩的。

后来,Cluster群里的好兄弟,UCWEB的罗学,给我共享了一个Perl的脚本,很简单,但是也很好用。利用这个脚本我完成了这样的一个测试工作,顺便提一下,结果很理想,呵呵,网易和搜狐成功接收1000封邮件,一封没落下(把发送邮件的地址加到白名单);而通过网易往回来发的时候到215封时测试机IP就被纳入黑名单了,不过这215封我们也全部成功接收了。

废话不多说了,进入正题:
首先,

通过root用户登录,执行
cpan

进入以后,再执行
install MIME::Lite
install Authen::SASL

这两个包,每个包大概要等个10来分钟的样子才会完全下载并安装好。

脚本内容:

#!/usr/bin/perl -w
use strict;
use MIME::Lite;
use MIME::Base64;
use Authen::SASL;

foreach my $a ( 1 .. 1000 ) {
  sleep 10;
  my $from = 'username@domain.com';
  my $passwd = 'password';
  my $to = 'username@163.com';
  my $messages = $a . ":" . "Hello Rainbow!";
  my $msg = MIME::Lite->new(
      From     =>  $from,
      To       =>  $to,
      Cc       =>  'username@sohu.com',
      Subject  =>  $a . ":" . 'Hello Rainbow!',
      Type     =>  'TEXT',
      Data     =>  $messages,
  );
  MIME::Lite->send('smtp','smtp.domain.com',
      Debug   =>'1',
      AuthUser=>$from,
      AuthPass=>$passwd,
  );
  $msg->send;
}

1 Comment