shell脚本检测服务器进程并重启以及失败预警
2017-01-05 15:27
337 查看
mutt发送邮件配置:
路径:/usr/local/mutt相关文件:install.sh、mutt-1.5.21.tar.gz、msmtp-1.4.21.tar.bz2
相关文件下载链接
安装以及配置脚本:install.sh
运行install.sh即可,邮件配置都在install.sh中,Mail_USER发送方邮箱名,Mail_PWD发送方邮箱密码。
(运行中会有问题:no curses library found
解决方法:yum install ncurses-devel)
crontab配置:
yum install -y vixie-cron使用方法:(五分钟检测一次)
check-kafka.sh路径:/home/check-kafka.shcrontab -e */5 * * * * /bin/bash /home/check-kafka.sh
check-kafka.sh相关说明:
举例:kafka1服务器检测顺序:zookeeper -> kafka -> kafka-consumer
检测过程:ps命令检测是否有相关进程存在,如没有则启动对应进程,然后再检测一次,如果还未启动,则通过mutt发送相关服务器和对应的进程名到邮件。如果存在相关进程或者启动成功则不做任何操作。
注:对于脚本直接启动正常而放进crontab后定时启动失败的原因总结
原因:在运行crontab的时候,是non_login方式调用程序的,此时~/.bash_profile并不会被提前调用。所以,crontab的运行环境相对于login方式进入bash运行的环境来说小得多。如果程序涉及~/.bash_profile使用的环境变量,那么,部分在login方式可以正常运行的程序在crontab下就无法运行。
解决方法:
添加环境变量,如下:
export HOSTNAME=dsj-kafka2 export PATH=/usr/local/java/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin export ZOO_LOG_DIR=/work/kafka/zkplog export JAVA_HOME=/usr/local/java export LANG=zh_CN.UTF-8 export ZOO_DATADIR=/work/kafka/zkpdata export CLASSPATH=.:/usr/local/java/lib/dt.jar:/usr/local/java/lib/tools.jar
或者导入环境变量(两种方法,任选一种即可):
1.在crontab -e编辑时加入
. /etc/profile;/bin/bash #主要"."后要有个空格 #例子 */5 * * * * . /etc/profile;/bin/bash /home/check-kafka.sh
2.在你要运行的脚本的开头加入
source /etc/profile
jianceKafka.sh源码
#!/bin/bash function StartKafka() { ps -fe|grep [检测进程名] |grep -v grep if [ $? -ne 0 ] then sleep 1 [进程启动命令] sleep 1 ps -fe|grep [检测进程名] |grep -v grep if [ $? -ne 0 ] then echo "warning" | [mutt路径] -s "warning" [接收的邮箱(多个邮箱需以“,”划分)] # isSendMail="true" fi fi } #main function function_main () { StartKafka; } function_main ;
相关文章推荐
- [shell]对apache进程进行检测的脚本
- linux 进程自动重启检测脚本
- 监控服务器swap并重启php的Shell脚本
- 用shell脚本重启进程
- shell脚本中重启tomcat进程
- 用于检测进程的shell脚本
- 用于检测进程的shell脚本代码小结
- 监控服务器swap并重启php的Shell脚本
- Linux下检测Apache进程数量并自动重启的脚本
- 用于检测进程的shell脚本
- 使用交互式shell脚本启动DHCP服务器以及对其进行设置
- 用于检测进程的shell脚本代码小结
- 检测tomcat运行状态,自动重启TOMCAT脚本SHELL
- 智能监测自动重启Apache服务器的Shell脚本
- 【原】用shell脚本监视进程,崩溃挂掉后自动重启
- 硬盘检测的一个shell脚本及自动重启自动运行脚本
- linux ubuntu 下利用shell脚本监控单个进程的内存占用率以及cpu使用率
- shell脚本强制进程重启
- Shell脚本检测程序,如果挂了就重启程序
- 智能监测自动重启Apache服务器的Shell脚本