ITPub博客

首页 > IT基础架构 > 网络安全 > 程序实时监控

程序实时监控

原创 网络安全 作者:therorawt 时间:2007-10-14 14:33:30 0 删除 编辑

云南联通linux下几个应用程序需要做个实时监控,以便程序掉线时能自动重起。方法是用(定时任务)crontab来实现。关于crontab的用法在上上一篇博客里有较为详细的说明,当然那篇是我转载七月小猪的blog,在这里感谢一下^_^。crontab调用shell脚本是用的公司以前同事写的,拿过来作了些修改。条件都具备了,按理说完成这个工作任务应该是水到渠成的事了,但在做的过程还是遇到一些麻烦,耽误了不少时间。

现把一些要点总结如下:

[@more@]

1. 两个脚本MonitorProc.sh, ProcList.sh
其中ProcList.sh是程序目录以及对应的进程名;
MonitorProc.sh是检查该进程是否离线,如果该进程的pid为空,则把程序目录里的指定的可执行文件重新启动。

2. 如果在windows下用UE编辑这两个文件,不要把它们转化为DOS格式,否则拿到linux下认不到。我当时做的时候就犯了这个错误,结果费了不少时间。

3. ftp到linux下后,文件需要有执行的权限。用下面这条命令可以使文件让所属的用户有执行的权限。
chmod +x *.sh

4. 对于ProcList.sh文件,在最后一行结束的时候保存退出,不需要再留一个空行。比如这个文件只有一行:
ZHYZ_GW1 YZ_GateWay
那么光标在y处保存退出即可,不需要再敲回车。这个文件最好直接在linux中用vi编辑出来。

5. 在用crontab调用脚本的时候,先单独执行下shell脚本,测试下脚本,顺便检查下是否有语法错误。诊断的过程中,可以在脚本中设一些字符,或把一些变量打印出来,直到脚本通过测试。这个过程最好在测试机上做,对测试机的要求:和生产机的机型、OS、版本相同。

6. 对于脚本中需要创建日志文件的,需要检查执行crontab的用户在当前目录是否具有创建文件的权限。

7. 检查crond服务是否启动
方法:/etc/init.d/crond status 或者
ps -ef | grep cron

8. 编辑crontab文件,如下:
$crontab -e
* * * * * /home/ynjfk/command/MonitorProc.sh >>/home/ynjfk/command/monitor_crontab.log

9. 观察/home/ynjfk/command下是否有日志产生,如果有,查看日志文件

另外要特别注意的是,在生产机上使用rm命令要特别小心,特别是加了-rf参数

--全文完

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9896745/viewspace-976507/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    38
  • 访问量
    47077