linux使用计划任务监控进程是否启动

      发布在:后端技术      评论:0 条评论
<p>linux使用计划任务监控进程是否启动,如果没有启动则执行启动命令脚本</p><p>加入计划任务执行脚本,每分钟执行一次run.sh脚本:</p><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:&#39;JetBrains Mono&#39;,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;">&quot;0&quot; </span>] <span style="color:#cc7832;">&amp;&amp; </span><span style="color:#c57633;">echo </span><span style="color:#6a8759;">&quot;Error: You must be root to run this script&quot; </span><span style="color:#cc7832;">&amp;&amp; </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;">&quot;* * * * * sh </span>$basepath<span style="color:#6a8759;">/run.sh&quot;</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;">&quot;</span>$result<span style="color:#6a8759;">&quot; </span>]<br/><span style="color:#cc7832;">then<br/></span><span style="color:#c57633;">crontab </span>-l <span style="color:#cc7832;">&gt; </span>conf <span style="color:#cc7832;">&amp;&amp; </span><span style="color:#c57633;">echo </span><span style="color:#6a8759;">&quot;* * * * * sh </span>$basepath<span style="color:#6a8759;">/run.sh &gt;/dev/null 2&gt;&amp;1&quot; </span>&gt;&gt; conf <span style="color:#cc7832;">&amp;&amp; </span><span style="color:#c57633;">crontab </span>conf <span style="color:#cc7832;">&amp;&amp; </span><span style="color:#c57633;">rm </span>-f conf<br/><span style="color:#c57633;">echo </span>-e <span style="color:#6a8759;">&quot;\033[32mOk.\033[0m&quot;<br/></span><span style="color:#cc7832;">else<br/></span><span style="color:#c57633;">echo </span><span style="color:#6a8759;">&quot;The process has been add .&quot;<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:&#39;JetBrains Mono&#39;,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;">&quot;</span>$result<span style="color:#6a8759;">&quot; </span>]<br/><span style="color:#cc7832;">then<br/></span><span style="color:#c57633;">echo </span><span style="color:#6a8759;">&quot;Starting the process.&quot;<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;">&quot;\033[32mOk.\033[0m&quot;<br/></span><span style="color:#cc7832;">else<br/></span><span style="color:#c57633;">echo </span><span style="color:#6a8759;">&quot;The process has been started .&quot;<br/></span><span style="color:#cc7832;">fi</span></pre>
相关文章
热门推荐