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

时间:2023-02-06 23:16:40

概述:

数据库或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