• 使用linux计划任务自动拉起停止的通达OA服务apache和mysql服务


    概述:

    数据库或web服务器瞬时并发过大时,可能面临宕机的危险,用类似开门狗的程序自动监控程序是否正常运行,在服务停止时自动启动服务,可临时解决该问题


    监控apache服务的脚本:

    每两分钟执行脚本检查apache程序是否正常运行,如果不正常则自动启动服务

    vi /usr/sbin/startpache

    加入如下内容:

    #检查apache服务是否正常运行,如果停止了则拉起服务

    #!/bin/sh

    web=`/usr/bin/pgrep httpd`

    if [ "$web" == "" ]

    then

    echo "the apacheserver not running"

    /opt/lampp/lampp startapache

    else

    echo "the apacheserver is running"

    fi


    3、修改文件属性,使其可执行

    chmod +x /usr/sbin/startpache

     

    4、修改/etc/crontab

    vi /etc/crontab

    #两分钟执行脚本检查程序是否正常运行

    */2 * * * * root /usr/sbin/startpache


    5、重新启动crond

    /etc/rc.d/init.d/crond restart


    监控mysql服务的脚本:

    作用:每两分钟执行脚本检查mysql数据库是否正常运行,如果不正常则自动启动mysql服务

    vi /usr/sbin/startmysql


    加入如下内容:

    #检查mysql服务是否正常运行,如果停止了则拉起服务

    #!/bin/sh

    mysql=`/usr/bin/pgrep mysqld`

    if [ "$mysql" == "" ]

    then

    echo "the mysql not running"

    /opt/lampp/lampp startmysql

    else

    echo "the mysql server is running"

    fi


    3、修改文件属性,使其可执行

    chmod +x /usr/sbin/startmysql

     

    4、修改/etc/crontab

    vi /etc/crontab

    #两分钟执行脚本检查程序是否正常运行

    */2 * * * * root /usr/sbin/startmysql


    5、重新启动crond

    /etc/rc.d/init.d/crond restart


    ==================================================

    计划任务每天早上执行PHP脚本:

    编写PHP脚本修改员工手册的通知置顶uppper_notify_ygsc.php,放到opt/lampp/htdocs/MYOA/webroot/se_widget/mail_remind目录下

    <?php

    include_once("inc/conn.php");

    include_once("inc/utility_all.php");

    include_once("inc/utility_file.php");

    include_once("inc/utility_org.php");

    header('content-type:text/html;charset=gbk');


    /**

    * 1.HR的员工手册在OA公告栏中需要置顶,每天8点运行一次

    */


        

    $today = date('Y-m-d');



    $sql = "update NOTIFY set BEGIN_DATE = '{$today}' where SUBJECT like '%员工手册V1.1版本已于2014年7月X日发布,请查点查看详情%' and notify_id='3877'";


    exequery($connection,$sql);


    // 关闭浏览器(调试时禁用)

     

     echo "<script type="text/javascript">"; 

     echo "self.opener=null;"; 

     echo "self.open('', '_self');"; 

     echo "self.close();"; echo "</script>";


    ?>

    添加脚本可执行权限

    chmod +x /opt/lampp/htdocs/MYOA/webroot/se_widget/mail_remind/uppper_notify_ygsc.php

    编辑计划任务

    vi /etc/crontab

    将以下内容拷入计划任务文件中

    #每天早上8点运行PHP脚本,修改员工手册的通知置顶

    * 8 * * * root /opt/lampp/bin/php /opt/lampp/htdocs/MYOA/webroot/se_widget/mail_remind/uppper_notify_ygsc.php


    重启计划任务

    /etc/rc.d/init.d/crond restart

  • 相关阅读:
    工作中收集的工具类函数库
    前端常用应用网站
    angularJs select ng-selected默认选中遇到的坑
    超好用的input模糊搜索 jq模糊搜索,
    angular,,以及深度拷贝问题;JSON.parse,JSON.stringify灵活运用
    vue-router解析,vue-router原理解析
    共享一个PowerDesigner 16.5
    在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。
    C#的Class的几个修饰符
    IntelliTrace调试
  • 原文地址:https://www.cnblogs.com/reblue520/p/6239897.html
Copyright © 2020-2023  润新知