Linux服务器挂掉,使之自动重启脚本
实现原理
主要是使用linux提供的crontab机制,定时查询服务器进程是否存在,如果宕机则执行我们预设的重启脚本
实现
1. 向crontab添加任务- crontab -l 查询当前用户的任务- 创建一个文件(server_cron)输入* * * * * sleep 10; sh /路径/server_maintenance.sh- cronrab server_cron (生效)
2. shell脚本
#! /bin/shproc_name="./server" #进程名proc_num() #查询进程数量{num=$(ps -ef | grep gdms |grep $proc_name | grep -v "grep" | wc -l)echo $numreturn $num}proc_numnumber=$? #获取进程数量 if [ $number -eq 0 ] #如果进程数量为0then #重新启动服务器,或者扩展其它内容。 cd /home/liudongwei/workspace/server2.0/distnohup ./server & fi
参考:
https://www.cnblogs.com/leodaxin/p/9222969.html
https://blog.csdn.net/shanzhizi/article/details/8123854
上个版本经过实际应用,发现严重的问题:每隔一分钟就会执行一次脚本,如果有LOG日志的话,会发现你的磁盘快满了o(╥﹏╥)o
解决问题:
回顾了crontab相关知识
- crontab -l
查询当前用户任务 - tail -f /var/log/syslog
查看到执行任务命令之后在日志中的信息反馈 - crontab -r
删除当前用户任务
- crontab -l
分析
经过我在网上搜素相关问题,了解到有些脚本放在crontab定时器中执行,不会运行(就比如我上文提到的重启服务脚本),我上个脚本之所以执行成功,是因为 grep gram,其实我也不知道这是啥意思,我抄的。。。大意是搜索gram,这个哪有,所以函数proc_num() 返回值都是0。解决
- 一行一行的理解代码
- 验证测试
- 反正我是试出来的
proc_num()
{# ps -ef | grep ./server
# echo
# ps -ef | grep ./server | grep -v "grep"
# echo
# ps -ef | grep $proc_name | grep -v "grep" | grep -v "sh"
# echo
# ps -ef | grep $proc_name | grep -v "grep" | wc -l
# echo
# ps -ef | grep $proc_name | grep -v "grep" | grep -v "sh" |wc -l
# echonum=$(ps -ef | grep $proc_name | grep -v "grep" | grep -v "sh" |wc -l)
# echo $numreturn $num
}
总结
拿来,没有真正理解,会返工,只能多总结,多积累
Linux服务器挂掉,使之自动重启脚本相关推荐
- 我的世界自动开关服务器,我的世界自动重启脚本方法_我的世界如何让服务器自动重启_游戏堡...
我的世界如何让服务器自动重启:<我的世界>游戏中怎么样才能让服务器自动重启?下面游戏堡小编给大家介绍的是我的世界自动重启脚本方法,小伙伴们一起来看看吧. 首先,你要有一个对应你服务器核心的 ...
- 我的世界服务器java启动脚本_我的世界定时关闭服务器 自动重启脚本
我的世界定时关闭服务器 自动重启脚本.其实定时关闭服务器脚本还是有好处的,因为我们不可能永远都待在服务器的旁边,出问题的时候我们不可能第一时间去重启服务器查找问题的,所以老手腐竹们就需要一个定期重启的 ...
- 1 在 Linux 下开机自动重启脚本(亲测)
/etc/rc.local 开机启动程序,把需要开机自动运行的程序写在这个脚本里 /etc/init.d 这个目录存放的是一些脚本,一般是linux以rpm包安装时设定的一些服务的启动脚本. 要重新启 ...
- 修改服务器ip 需要重启,linux服务器设置ip后需要重启吗
linux服务器设置ip后需要重启吗 内容精选 换一换 切换操作系统是为您的弹性云服务器重新切换一个系统盘.切换完成后弹性云服务器的系统盘ID会发生改变,并删除原有系统盘.如果弹性云服务器当前使用的操 ...
- Linux 多应用程序docker自动部署脚本
2019独角兽企业重金招聘Python工程师标准>>> Linux 多应用程序docker自动部署脚本可以结合jenkins分布式部署 参数: 镜像名:端口的格式:版本号 例如:sp ...
- 解析Linux 多应用程序docker自动部署脚本
2019独角兽企业重金招聘Python工程师标准>>> 摘要: Linux 多应用程序docker自动部署脚本可以结合jenkins分布式部署 Linux 多应用程序docker自动 ...
- 服务器凌晨莫名奇妙自动重启解决方案
服务器凌晨莫名奇妙自动重启解决方案 转载请注明出处:http://blog.csdn.net/aaa123524457/article/details/47609701 问题描述: 这两天早上到公司, ...
- linux超过cpu负载重启脚本,linux下Web服务器CPU负载超过阀值自动重启脚本
说明: 操作系统:CentOS web服务器:apache 问题: 搜索引擎的爬虫导致网站在某一段时间内访问量剧增,服务器压力过大,网站访问超时.页面无法打开. 解决办法: 定时监控服务器负载,超过一 ...
- Memcached进程挂掉自动重启脚本
由于一台WEB服务器的Memcached死掉而导致在访问网站的某些页面时候打不开,下面脚本会自动检测Memcached的进程,如果挂掉则自动重启Memcached服务. cat /root/sh/me ...
最新文章
- Spark的RDD 文件读取与保存
- 谷歌最新提出无需卷积、注意力 ,纯MLP构成的视觉架构
- gradle转maven
- 配置一个 MVC 项目时 遇到的
- Docker - Docker中搭建MySQL主从
- Linux 磁盘管理--RAID1创建
- Android 简单闪屏
- 判断zk是否挂掉_Zookeeper入门学习第一天,zk集群简单介绍
- selenium定位方式
- 抽象类和接口有哪些共同点和区别
- 十八道海量数据处理面试题与相关知识讲解
- 【已测】开源PHP个人导航网站源码,有后台
- cad图层置顶的lisp_CAD图层遮挡,如何将CAD图形进行前置或者后置?
- 巴菲特致股东的一封信:1989年
- linux c 程序异常退出时打印堆栈调用信息
- 银河5 号超级计算机,全球超级计算机500强最新排行 天河一号第五
- GCT考试之考试结果
- uniapp ping插件 离线打包
- 锂电池标3.7V或4.2V的区别
- 播放失败246106异常代码_史上最全燃气壁挂炉故障代码,这个值得收藏