月度归档:2012年12月

zabbix 配置发邮件 sendmail

这段时间在研究zabbix(2.0.3) ,我把遇到的一些问题说一下,这个文档是关于用系统自带的sendmail发邮件的sendmail的安装过程

yum install sendmail
关于sendmail的配置
# cat /etc/hosts
127.0.0.1       zabbix.kumouse.com    localhost.localdomain    localhost

# cat /etc/mail/access
Connect:localhost.localdomain           RELAY
Connect:localhost                       RELAY
Connect:127.0.0.1                       RELAY
Connect:zabbix.kumouse.com              RELAY

# cat /etc/mail/local-host-names
zabbix.kumouse.com

改完成后,重启sendmail服务,通过telnet命令,测试一下看看是否已生效
# telnet 127.0.0.1 25
Trying 127.0.0.1…
Connected to zabbix.kumouse.com (127.0.0.1).
Escape character is ‘^]’.
220 monitor.bot.cms ESMTP Sendmail 8.13.8/8.13.8; Sun, 10 Oct 2010 14:00:33 +0800

     

localhost.localdomain 已经变成了 zabbix.kumouse.com 这个域名,表示修改成功

接下来就可以在zabbix 的管理页面上进行Email .admintration->media types

设置一下然后设置一个configureation -> actions 加入一个行动

然后给triggers被触发了你就是收到邮件了

关于mysql的模式匹配

MySQL提供标准的SQL模式匹配,以及一种基于象Unix实用程序如vi、grep和sed的扩展正则表达式 模式匹配的格式。 SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。 在 MySQL中,SQL的模式缺省是忽略大小写的。下面显示一些例子。注意在你使用SQL模式时,你不 能使用=或!=;而使用LIKE或NOT LIKE比较操作符。 为了找出以“b”开头的名字:
mysql> SELECT * FROM pet WHERE name LIKE “b%”;

为了找出以“fy”结尾的名字:
mysql> SELECT * FROM pet WHERE name LIKE “%fy”; 为了找出包含一个“w”的名字:
mysql> SELECT * FROM pet WHERE name LIKE “%w%”;

为了找出包含正好5个字符的名字,使用“_”模式字符:
mysql> SELECT * FROM pet WHERE name LIKE “_____”;

由MySQL提供的模式匹配的其他类型是使用扩展正则表达式。当你对这类模式进行匹配测试时,使用 REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。 扩展正则表达式的一些字符是: “.”匹配任何单个的字符。
一个字符类“[…]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。
为了命名字符的一个范围,使用一个“-”。“[a-z]”匹配任何小写字母,而“[0-9]”匹配任
何数字。
“ * ”匹配零个或多个在它前面的东西。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”
匹配的任何数量的数字,而“.*”匹配任何数量的任何东西。
正则表达式是区分大小写的,但是如果你希望,你能使用一个字符类匹配两种写法。例如,
“[aA]”匹配小写或大写的“a”而“[a-zA-Z]”匹配两种写法的任何字母。
如果它出现在被测试值的任何地方,模式就匹配(只要他们匹配整个值,SQL模式匹配)。
为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的
结尾用“$”。
为了说明扩展正则表达式如何工作,上面所示的LIKE查询在下面使用REGEXP重写: 为了找出以“b”开头的名字,使用“^”匹配名字的开始并且“[bB]”匹配小写或大写的“b”:
mysql> SELECT * FROM pet WHERE name REGEXP “^[bB]”;

为了找出以“fy”结尾的名字,使用“$”匹配名字的结尾:
mysql> SELECT * FROM pet WHERE name REGEXP “fy$”;

为了找出包含一个“w”的名字,使用“[wW]”匹配小写或大写的“w”:
mysql> SELECT * FROM pet WHERE name REGEXP “[wW]”;

既然如果一个正规表达式出现在值的任何地方,其模式匹配了,就不必再先前的查询中在模式的两
方面放置一个通配符以使得它匹配整个值,就像如果你使用了一个SQL模式那样。
为了找出包含正好5个字符的名字,使用“^”和“$”匹配名字的开始和结尾,和5个“.”实例在
两者之间:
mysql> SELECT * FROM pet WHERE name REGEXP “^…..$”;

你也可以使用“{n}”“重复n次”操作符重写先前的查询:
mysql> SELECT * FROM pet WHERE name REGEXP “^.{5}$”;

查找数字和其他的模糊查询语句
Select * from pet where name REGEXP “[^a-zA-Z].”;

godaddy DNS服务器被封,解决办法

前几天在godaddy新注册了一个域名。

发现在北京解析不出来,dns换成8.8.8.8是下常的。

后来在网上查了一下,发现这个情况,去年7月份就开始了。

是由于电信,网通封杀godaddy的dns服务器导致的。我严重鄙视这种行为。

下面说一下解决的办法,godaddy的dns服务器很多,不是所有的全封杀了,换一下dns的解析服务器就行了。如下图

之前是这样子的

dns2

这个39号和40号是封杀了的,我另一个域名是正常的,如下图

dns1

所以我把不能解析的域名dns服务器改成下图这样子就ok了

 

dns3