<p>linux使用计划任务监控进程是否启动,如果没有启动则执行启动命令脚本</p><p>加入计划任务执行脚本,每分钟执行一次run.sh脚本:</p><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'JetBrains Mono',monospace;font-size:9.8pt;"><span style="font-weight:bold;">#!/usr/bin/env bash<br/></span>basepath=<span style="color:#cc7832;">$</span><span style="color:#c57633;">(cd `dirname </span>$0<span style="color:#c57633;">`</span>; <span style="color:#c57633;">pwd)<br/></span>[ <span style="color:#cc7832;">$</span><span style="color:#c57633;">(id </span>-u<span style="color:#c57633;">) </span>!= <span style="color:#6a8759;">"0" </span>] <span style="color:#cc7832;">&& </span><span style="color:#c57633;">echo </span><span style="color:#6a8759;">"Error: You must be root to run this script" </span><span style="color:#cc7832;">&& </span><span style="color:#c57633;">exit </span><span style="color:#6897bb;">1<br/></span>result=<span style="color:#cc7832;">$</span><span style="color:#c57633;">(crontab </span>-l|<span style="color:#c57633;">grep </span>-i <span style="color:#6a8759;">"* * * * * sh </span>$basepath<span style="color:#6a8759;">/run.sh"</span>|<span style="color:#c57633;">grep </span>-v grep<span style="color:#c57633;">)<br/></span><span style="color:#cc7832;">if </span>[ <span style="color:#cc7832;">! </span><span style="color:#c57633;">-n </span><span style="color:#6a8759;">"</span>$result<span style="color:#6a8759;">" </span>]<br/><span style="color:#cc7832;">then<br/></span><span style="color:#c57633;">crontab </span>-l <span style="color:#cc7832;">> </span>conf <span style="color:#cc7832;">&& </span><span style="color:#c57633;">echo </span><span style="color:#6a8759;">"* * * * * sh </span>$basepath<span style="color:#6a8759;">/run.sh >/dev/null 2>&1" </span>>> conf <span style="color:#cc7832;">&& </span><span style="color:#c57633;">crontab </span>conf <span style="color:#cc7832;">&& </span><span style="color:#c57633;">rm </span>-f conf<br/><span style="color:#c57633;">echo </span>-e <span style="color:#6a8759;">"\033[32mOk.\033[0m"<br/></span><span style="color:#cc7832;">else<br/></span><span style="color:#c57633;">echo </span><span style="color:#6a8759;">"The process has been add ."<br/></span><span style="color:#cc7832;">fi<br/></span></pre><p>下面的就是run.sh脚本文件内容</p><p>判断进程xs-searchd是否存在,不存在则执行/bin/sh /usr/local/xunsearch/bin/xs-ctl.sh restart</p><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'JetBrains Mono',monospace;font-size:9.8pt;"><span style="font-weight:bold;">#!/usr/bin/env bash<br/></span>basepath=<span style="color:#cc7832;">$</span><span style="color:#c57633;">(cd `dirname </span>$0<span style="color:#c57633;">`</span>; <span style="color:#c57633;">pwd)</span><span style="color:#6a8759;"><br/></span>result=<span style="color:#cc7832;">$</span><span style="color:#c57633;">(ps </span>-ef | <span style="color:#c57633;">grep </span>-i xs-searchd | <span style="color:#c57633;">grep </span>-v grep<span style="color:#c57633;">)<br/></span><span style="color:#cc7832;">if </span>[ <span style="color:#cc7832;">! </span><span style="color:#c57633;">-n </span><span style="color:#6a8759;">"</span>$result<span style="color:#6a8759;">" </span>]<br/><span style="color:#cc7832;">then<br/></span><span style="color:#c57633;">echo </span><span style="color:#6a8759;">"Starting the process."<br/></span><span style="color:#c57633;">/bin/sh </span>/usr/local/xunsearch/bin/xs-ctl.sh restart<br/><span style="color:#c57633;">echo </span>-e <span style="color:#6a8759;">"\033[32mOk.\033[0m"<br/></span><span style="color:#cc7832;">else<br/></span><span style="color:#c57633;">echo </span><span style="color:#6a8759;">"The process has been started ."<br/></span><span style="color:#cc7832;">fi</span></pre>
相关文章