个性化阅读
专注于IT技术分析

停机时如何自动重启服务?

本文概述

Shell脚本, 如果宕机/崩溃, 则重新启动服务

由于各种原因, 程序崩溃/崩溃很常见, 你可以调查并解决问题, 但这可能需要一些时间。

但是, 你可以立即采取行动以减少停机时间以提高可用性, 这是在停机后自动重启过程。

让我们通过高速公路来完成此任务-Shell脚本

你可以使用以下Shell脚本来运行crontab, 它将每15分钟检查一次服务(你可以调整间隔时间), 如果发现未运行, 则将启动。听起来不错?

在本文中, 我将给出两个如果服务关闭启动服务的示例。

如果你使用的是CentOS / RHEL 7+, 那么你也可以查看此文章以解释如何使用systemd重新启动。

如果关闭, 则自动重启MySQL, PHP-FPM, Nginx

几周前, 我使用EasyEngine将Geek Flare移至DigitalOcean, 而MariaDB在一周内崩溃了两次。

mariadb崩溃

你会看到它在清晨坠毁, 并坠落了3个多小时, 这不是很好。这是我的博客, 因此不会对$$$产生任何影响, 但我仍然为此感到难过。

好, 现在放映时间…

  • 使用vi编辑器在所需位置创建文件(在此演示中, 我将其放在/opt/startifdown.sh下)
  • 将以下脚本复制并粘贴到文件中并保存
#!/bin/bash
#Scripts to start services if not running
ps -ef | grep nginx |grep -v grep > /dev/null
if [ $? != 0 ]
then
       /etc/init.d/nginx start > /dev/null
fi
ps -ef | grep php5-fpm |grep -v grep > /dev/null
if [ $? != 0 ]
then
       /etc/init.d/php5-fpm start > /dev/null
fi
ps -ef | grep mysql |grep -v grep > /dev/null
if [ $? != 0 ]
then
       /etc/init.d/mysql start > /dev/null 
fi
  • 将文件权限更改为可执行
chmod 755 startifdown.sh

手动测试以确保脚本可执行。

你可以停止该服务, 并使用脚本检查其是否正在启动。满意后, 可以将其放在cron中, 以每15分钟运行一次。

*/1 * * * * /opt/startifdown.sh

如果你在更改间隔时间方面需要一些启发, 请参阅我的crontab文章。

现在, 这个小脚本将在崩溃时负责启动服务, 而我不会有3个小时的停机时间。

好多了!

如果关闭, 则自动重新启动WebSphere DMGR, Nodeagent, JVM

使用以下脚本创建文件–我将其命名为startwasifdown.sh

#!/bin/bash
#Scripts to start services if not running
#Specify DMGR Path Here
DMGR=/opt/IBM/WebSphere/AppServer/profiles/Dmgr01
#Specify Profile Path Here
Profile=/opt/IBM/WebSphere/AppServer/profiles/AppSrv01
ps -ef | grep dmgr |grep -v grep > /dev/null
if [ $? != 0 ]
then
       $DMGR/bin/startManager.sh > /dev/null
fi
ps -ef | grep nodeagent |grep -v grep > /dev/null
if [ $? != 0 ]
then
       $Profile/bin/startNode.sh > /dev/null
fi
ps -ef | grep server1 |grep -v grep > /dev/null
if [ $? != 0 ]
then
       $Profile/bin/startServer.sh server1 > /dev/null
fi

注意:更改路径以适合你的环境, 并为多个JVM添加更多行。

  • 将文件权限更改为可执行
chmod 755 startwasifdown.sh

手动测试它, 一旦满意, 就可以将其放在cron中, 每隔15分钟或适合你的时间运行一次。

*/1 * * * * /opt/ startwasifdown.sh

这只是你自动执行操作的准则。

喜欢自动化吗?了解有关bash shell脚本的信息。

赞(0)
未经允许不得转载:srcmini » 停机时如何自动重启服务?

评论 抢沙发

评论前必须登录!