linux服务器挂掉自动重启脚本
思韵闪耀
2022-04-28
0

实现原理主要是使用linux提供的crontab机制,定时查询服务器进程是否存在,如果宕机则执行我们预设的重启脚本。

首先我们要向crontab加入一个新任务

sudo crontab -e #进入编辑状态,选用vi编辑。
 
*/1 * * * * sh /root/monitor.sh  #添加每分钟检测

我这里只是简单的设置每分钟调用一个shell脚本monitor.sh。这里可以配置的更强大,大家可以去搜索一下crontab的教程,网上有很多这类的教程。
这里需要注意的是,很多教程配置command的时候直接使用/root/monitor.sh,我设置的时候发现这样配置不会执行shell脚本,前面加上sh后就能执行了。
然后我们开始写monitor.sh这个shell脚本。

#! /bin/sh    
    
proc_name="run_cloudweb.py"        #进程名  
    
proc_num()                      #查询进程数量  
{  
    num=$(ps -ef | grep $proc_name | grep -v grep | wc -l)
    return $num  
}  
  
proc_num    
number=$?                       #获取进程数量  
if [ $number -eq 0 ]            #如果进程数量为0  
then                            #重新启动服务器,或者扩展其它内容。  
    cd /usr/shineonStuido/cloudweb/ 
    sudo nohup python run_cloudweb.py &  
fi
这个脚本,只是简单的检测了进程是否存在,不存在就自动重启服务器。

这里其实也可以扩展一下,比如对日志文件的处理以及重启时间等的记录等等。

到这里就OK了,可以杀掉进程,自行测试一下啦~

如果使用

num=`ps -ef | grep $proc_name | grep -v grep | wc -l`

则num为字符串,return $num时会出错提示return必须为数字


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

将IIS设置克隆到新服务器...
将IIS设置克隆到新服务器的最佳方法是使用IIS配置文件。以下是详...
2025-06-06
搭建Git服务器及本机克隆...
Git是什么?Git是目前世界上最先进的分布式版本控制系统。SVN...
2025-03-17
ubuntu环境下搭建gi...
操作环境:服务器:Ubuntu 24.04.2 LTS+git 2...
2025-03-17
Linux系统挂载未分配硬...
先查看未挂载之前的磁盘使用情况发现磁盘使用率已经达到了96%,迫切...
2025-02-22
Linux lsblk 命...
简介Linux 中的 lsblk 命令,全称叫做:list blo...
2025-02-22
linux内核5和6区别
Linux内核5.x和6.x版本之间有显著的区别,这些区别主要体现...
2024-04-29

热门资讯

SIOCADDRT: Netw... SIOCADDRT: Network is unreachable SIOCADDRT: 网络不可达...
centos7下创建新用户和组 linux下添加,删除,修改,查看用户和用户组 1 .增加一个test组 groupadd test...
linux通过sed 修改文件... 13sy.txt里面内容如下 A; B; C; write by luohao199621; 1.要...
关于cannot remove... 关于cannot remove directory: Directory not empty的解决办...
mount: unknown ... mount: unknown filesystem type LVM2_member解决方案 系统启...
OpenMediaVault安... OpenMediaVault 是一个基于Debian的专用 Linux 发行版,用于构建网络连接存储...
centos7 双网卡双网关的... 最近公司需要在一台服务器上同时使用内网和外网,并且都需要跨网段访问,因此需要双网关,但是一台机子上只...
ethtool 命令详解 1 概述 ethtool 是用于查询及设置网卡参数的命令。 2 命令详解 2.1 命令格式 (1) ...
CentOS7单网卡设置双IP... linux系统CentOS7单网卡设置双IP的方法,centos7.5、7.6、7.7设置双IP教程...
Linux进程状态D,S,Z的... Linux进程状态top,ps中看到进程状态D,S,Z的含义 在top和ps命令中有一列显示进程状态...