linux服务器下,利用Linux定时器和简单监控脚本,监控自动重启java服务。
注意:脚本最好在Linux系统中用touch建立.sh文件,并用shmod + x + ‘脚本文件名’,在window下编辑有可能会出现空格编码问题。
# cd /var/log
脚本
#! /bin/sh
#下面很重要
#需要jdk环境变量和路径,最重要的是路径,切换路径!切换路径!切换路径!重要的事说三遍,还有java环境变量的导入
#生效!!!!
#====================
source /etc/profile
cd /opt/speak # 切换到需要执行的java服务jar包的路径
#====================
proc_name="dataBack" # 进程名 file_name="/mnt/bindmonitor.log" # 日志文件 pid=0 proc_num() # 计算进程数 { num=`ps -ef | grep $proc_name | grep -v grep | wc -l` return $num } proc_id() # 进程号 { pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'` } proc_num number=$? if [ $number -eq 0 ] # 判断进程是否存在 then nohup python -u /usr/local/CCDTSoft/midou/moss/task/md_capture.py >> /usr/local/CCDTSoft/midou/moss/task/md_capture.log -n 1 & # 重启进程的命令,请相应修改 proc_id # 获取新进程号 echo ${pid}, `date` >> $file_name # 将新进程号和重启时间记录 fi
crontab 设置的定时器
标签:grep,name,重启,crontab,Linux,java,proc From: https://www.cnblogs.com/willelmliu/p/16880729.html# crontab -e */5 * * * * /mnt/bindmonitor.sh
配置完后重启crontab服务:
# service crond restart查看crontab中的内容
# crontab –1如有问题可查看crontab中的日志
# cd /var/log
# cat cron