基于ubuntu10之利用脚本帮你完成监控任务

利用linux脚本编写监控程序

项目背景:

#1、    实现对cpu、内存、磁盘的监控,当cpu持续5分钟消耗超过50%,内存消耗超过80%,磁盘主区不足10G时报警

#2、    实现对特定服务器网络的侦控,当发现该机器不能访问到目标服务器是,报警

#3、    每天定时早上8:00,下午5:00发送一封实时运行状态到指定收件人。

#4、    报警采用连发三封邮件,每封邮件间隔1分钟。

 

首先,在ubuntu系统中配置邮件客户端

1、  使用mutt+msmtp做linux邮件客户端

帖子2是对帖子1(开发相关:如果想找个监控脚本参考,可以看这个帖子)的补充,网上的东西就是这样,缺胳膊少腿…. ….

http://down.chinaz.com/server/201202/1678_1.htm帖子1

http://hi.baidu.com/ccie6554763/blog/item/2598e615a8eab266cb80c4e4.html帖子2

其实就是这个,qq.com前面要加smtp

配置QQ邮箱,如果你测试是用这种邮箱的话,那么,蛋疼了,要增加这个操作~

http://os.51cto.com/art/201102/245288.htm  附录2

 

2、基于Evolution   貌似twin有过同名唱片,百度一搜,都是那些,晕死,还没有用命令行操作这个软件的相关信息;

具体配置参考以下两个帖子,为什么是两个,看了你就知道~

http://os.51cto.com/art/-000111/245284.htm  附录1

http://os.51cto.com/art/201102/245288.htm  附录2

详细配置过程见附录1

3、mail 命令,不过不知怎么用,

然后,就开始编写我们伟大的脚本,机器的灵魂,呵呵我们也 算得上是灵魂的工程师呵呵~

 

Shell脚本的一些常用表达方式的格式写法以及注意点

程序无非就是处理数据,一种语言也无非就是要知晓如何定义如何引用,格式怎么写,可以怎么写

首先是定义变量

直接用,建议用大写

COUNTER=1  记得等于号要接在变量名之后   但是在if语句的[]以及echo时却不能,很蛋疼~

$COUNTER   表示他的大小

接着,我们要知道怎么打印信息,每入手一种硬件或是一门语言,都要首先知道这个,

echo $ COUNTER   终端就打印出这个值

echo  “ $ COUNTER” 这样写更规范~

如果是字符串 那么echo “  hello world “    “”这个要在英文下,记住

如果是变量加字符串呢 够变态的想法

 echo “你好  $ COUNTER”  这样就可以了

判断吧

if[  $A –eq $b  ]          -eq 等于     成立执行 then 否则else 如果是在命令行中执行  [  $A –eq  $b ]     

      echo $?  返回为0,成立为0 ,不懂~

then

     

else        可以省略

     

fi

如果是变量与数字呢

if[  $A –eq 1  ]

 

如果是联立的条件呢

if[ $hour -eq 8  ] || [ $hour -eq 17 ]&& [ $min -eq 0 ] && [ $sec -eq 0 ]

 

变量解决了,接下来就是函数

写法和C一样,只是不能先申明后条用,因为脚本是一句一句执行的

 

如何提取信息 

1.    命令法

 

2.    文件缓存法

 

如何将获取的信息写进变量,因为要去判断嘛~

 

详细过程:

下载MSMTP

wgethttp://nchc.dl.sourceforge.net/sourceforge/msmtp/msmtp-1.4.17.tar.bz2

tar xvf msmtp-1.4.17.tar.bz2

cd msmtp-1.4.17

./configure --prefix=/usr/local/msmtp

make

make install

2、创建msmtp配置文件和日志文件(host为邮件域名,邮件用户名test,密码123456) 

# vim ~/.msmtprc

account default 

host 126.com

from test@126.com

auth login

user test

password 123456

logfile ~/.msmtp.log

# chmod 600  ~/.msmtprc

# touch ~/.msmtp.log

3、mutt安装配置:(一般linux下有默认安装mutt)  

set sendmail="/usr/local/msmtp/bin/msmtp"

set use_from=yes

set realname="memory"

set from=test@126.com

set envelope_from=yes

set rfc2047_parameters=yes

set charset="utf-8"

4、邮件发送测试(-s邮件标题)   # echo "邮件内容123456" | mutt -s "邮件标题测试邮件"  test@126.com


 

 

附录1


Evolution,是ubuntu系统,安装后就自带的邮件客户端,可以用来收取邮件(感觉这句是废话。。。。。)。鉴于很多新手,即便是在WINDOWS系统下,都不会用客户端软件来收取邮件(少数吧。。。。。),这次就先写这个 Evolution,软件的配置教程了。

Ubuntu系统安装好以后,从 Applications(应用程序)—Internet(互联网)— Evolution Mail,就能运行。如图:

第一次运行,就会要求你配置邮件账户,这里,我以自己的163 账户,来教大家一步一步的配置Evolution。软件首次运行,出现的是欢迎界面,不用看,直接点击“Forward(前进)”。

第二个界面,是“账户信息还原”界面。Evolution这个软件,在软件里面,支持对你账户信息,密码,邮件等信息的备份和还原。我后面会讲到。因为我们现在没有备份文件,所以这个步骤,直接点击Forward,过去就是了。

第三个界面,是要求填写基本信息,包括:邮件地址,用户名等,看图,我逐个解释。

1. Full name:你的名字,随便写吧

2. E-mail: 邮箱地址,比如我的 nkevin@163.com

3. Reply-to: 回复到。。。。。哪个邮箱

4. Orgization:组织。(我那个英文,是 家庭 的意思),这里随便填写的。

5. Make this My Default account: Evolution,是支持管理多个邮箱的,这个选项,意思是:设置本邮箱为默认账户。因为我就用一个邮箱,这里就勾选了。

填写好以后,进入下一步。邮箱收取设置,如图:

目前网上99%的邮箱,想用软件来收取/发送邮件,都必须用到: POP 服务器地址 和 SMPT 服务器地址。前者是收取邮件用的,后者是发送邮件用的。这两个地址,都能从你邮箱里面查询到。想用软件收取/发送邮件,必须先知道这两个地址。

对于网易 163 邮箱,它们的地址分别是: pop.163.com 和 smtp.163.com。

其实这个地址都是“大同小异”的,比如,126的邮箱,就是 pop.126.com,新浪是 pop.sina.com.cn。。。。。。。类似的。

看图,先点击图中“Server Type”后面的:None,就会出现选择框,选择里面的:POP

选择后,就会出现POP服务器地址填写/设置界面,看图:

1. Server: 就是刚才说过的POP服务器地址,我的163是 pop.163.com,填写就行了

2. username:就是你邮箱 @ 前面那个名字,比如我 nkevin@163.com,这里就是 nkevin

3. Remember Password: 记住密码,这个很有用,要勾选,你不想以后每次收取邮件,都要填写密码吧。。。。

其他的项目,我们不需要理会,也没必要知道什么意思。填写好,直接Forward,进入下一步。如图

我还是逐个解释

1.Check for new messages every .....minutes:每隔 多少分钟,检查一次新邮件

2.Leave messages on server: 保存邮件在服务器上。(就是收取后,服务器上的邮件不删除,还留着)

3.Delete after ..... days: 每隔 多少天,就把服务器上面的邮件删除。

4.Dsiable support for all POP3extensions:禁用POP3扩展。(这个我也不太明白。。。。。有人知道的话,麻烦帮我解释下吧。我没勾选它)

这个都是根据你自己的习惯设置的,设置好后,Forward,进入:邮件发送服务器设置,就是刚才提到的,SMTP 服务器地址设置

和上面设置POP的地方,大致相同的。

1. Server:就是smtp地址了。我163是:smtp.163.com

2. Username: 和上面那个完全相同

3. Remember Password:勾上吧,记住密码

其他不用理会,直接Forward,看图:

这里,是让你设置个名字,在Evolution里面显示的名字,比如你是163的,就可以写个“我的网易邮箱”之类的。我是懒着写,我就一个邮箱,还写啥。。。。。

直接点击Forward吧。继续

到了“设置时区”,只要你的Ubuntu系统安装的时候,设置好了,这里就自动识别,看我图里,就是“上海”(没有你自己准确的城市的话,就用上海就行,差不了多少的)。继续Forward

设置完成,直接点击: Apply(应用),就行了。

到此,用Evolution配置一个邮箱,就彻底搞定了。可以进入软件,来收取邮件了。

第一次进入软件,如果你连接好网络了,它就会自动收取邮件,并且询问你邮箱的密码。如图:

自己输入就是了,这个不用教吧? 输入完了按OK,开始收取邮件

最后声明一下,我用的是英文的Ubuntu,所以这个软件,从始至终,大家看到的都是英文界面。一般人的Evolution,在进行了系统“语言支持”的更新后,就能变成中文界面的。这个大家可以放心,不会让你一直面对英文的。

休息下。。。。。。。请大家先别回帖,我后面还要写Evolution 的备份还原 和 如何收取QQ邮件

吃了口饭,继续。至于到了软件里面,收取写信什么的,我实在是不知道该怎么写了。我只写个最重要的,资料备份

刚才说过了,Evolution支持备份还原你的账户,邮件等资料。

备份方法:在软件里面,点击左上角的 File(文件) — Backup Settings(备份设置),如图

直接弹出文件保存对话框,着个地方保存吧,名字嘛,自己随便,改不改都行,我是没改。

点击 Save(保存),出现个提示,意思是:要进行备份操作,必须先关闭Evolution。直接点击OK就是了。就自动开始备份了。

备份是全自动的,无需你任何干预。我是备份到了桌面,名字默认,叫做:evolution-backup.tar.gz

现在我们来说下还原,假设,你系统重装了,或者Evolution账户要重新设置了,就还是按上面的教程,经过“欢迎界面”,到:Restore From Backup,这里。

看图,勾选:Restore EvolutionFrom backup files,然后点击“None”,选择你备份的文件。

还原过程,自然也是全自动的。完成后,自动进入软件,你就能回到备份时候的状态了,包括你的账户信息,软件设置,邮件等。

很多人配置完evolution之后,想去改配置,出于QQ邮箱要不同的配置,找不到这个启动界面,其实,可以这样操作

编辑-首选项- -在邮件账号处更改

 

 

 

 

 

 

附录2

相信很多人,都用QQ邮箱,作为自己日常交流的邮箱。在这里Linux下,我就教大家如何用Evolution,收取QQ邮箱的邮件。

很多人都说,不管是Windows下还是linux下,用软件都不能接收QQ邮箱,其实是可以的,原因很简单,因为QQ邮箱,默认的情况下,没有“开启POP和SMTP”服务。自然,就没法用软件,收取了。

所以,我们要做的,其实就是去网上,QQ邮箱的“设置”—“账户”里面,勾选“POP,SMTP”服务器。然后就能像配置163邮箱一样,用Evolution配置QQ邮箱,接收发送邮件了。

看图,我以自己的QQ邮箱为例子。

点击图中红色方框处的:“设置”

继续,点击:“账户”。进入账户页面后,往下赵,就能找到“POP3/IMTP/SMTP”服务器设置。如图

看我的图进行操作吧,勾选:开启POP3/SMTP服务,开启IMAP/SMTP服务

看我蓝色的框里面,这里提供了用软件发送接收邮件,所需的POP服务器地址和SMPT地址。

QQ 邮箱 POP 地址: pop.qq.com

SMTP地址:smtp.qq.com

里面还有个“收取选项”,都是中文的,我不解释了,自己看着办吧。

最后,别忘了点击: 保存更改!!!!!!!!!!!!!!!!!!!!!!!

到这里,就成功开启了。可以去evolution里面,配置QQ账户了。配置的过程,基本和我讲过的配置163邮箱的过程,都一样,不一样的地方是:

在Sending mail,那个步骤里面(帖子最后一张图)。把里面的:“Authentication”,下面的“type"。它默认的是: PLAIN.

大部分邮箱,这里都不需要动的,但QQ邮箱,需要把这个项目,改成 login!!!必须改,不改就没法发送邮件哦!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值