#!/bin/bash #chkconfig: 5 80 90 #description:check # # source function library #. /etc/rc.d/init.d/functions JAVA_HOME=/usr/bin export JAVA_HOME=$JAVA_HOME export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin DIALUP_PID=/root/unixDialup/dialup.pid CheckProcessStata() { CPS_PID=$1 if [ "$CPS_PID" != "" ] ;then CPS_PIDLIST=`ps -ef|grep $CPS_PID|grep -v grep|awk -F" " '{print $2}'` else CPS_PIDLIST=`ps -ef|grep "$CPS_PNAME"|grep -v grep|awk -F" " '{print $2}'` fi for CPS_i in `echo $CPS_PIDLIST` do if [ "$CPS_PID" = "" ] ;then CPS_i1="$CPS_PID" else CPS_i1="$CPS_i" fi if [ "$CPS_i1" = "$CPS_PID" ] ;then #kill -s 0 $CPS_i kill -0 $CPS_i >/dev/null 2>&1 if [ $? != 0 ] ;then echo "[`date`] unixdialup-10500: Process $i have Dead" kill -9 $CPS_i >/dev/null 2>&1 return 1 else #echo "[`date`] unixdialup-10501: Process is alive" return 0 fi fi done echo "[`date`] unixdialup-10502: Process $CPS_i is not exists" return 1 } echo "dialup Service check ..." SPID=`cat /root/unixDialup/dialup.pid` CheckProcessStata $SPID >/dev/null if [ $? != 0 ];then nohup /root/bea/user_projects/domains/mydomain/startWebLogic.sh >nohup.out 2>&1 & new_agent_pid=$! #nohup ls >nohup.out 2>&1 & aaa=$! echo "$new_agent_pid" > $DIALUP_PID else echo "unixdialup:{$SPID} Running Normal." fi findchidenproc() { CPS_PID=$1 tmpfile=/tmp/CheckProcessStat$$ if [ "$CPS_PID" != "" ] ;then ps -ef|grep $CPS_PID|grep -v grep|awk -F" " '{print $2,$3}' > $tmpfile else echo "Warning:Input pid is null" return 1 fi while read line do o_pid_1=`echo $line|awk '{print $1}'` o_pid_2=`echo $line|awk '{print $2}'` if [ "$CPS_PID" = "$o_pid_2" ];then echo "$o_pid_1" rm -f $tmpfile return 0 fi done < $tmpfile rm -f $tmpfile return 1 } findparentproc() { CPS_PID=$1 tmpfile=/tmp/CheckProcessStat$$ if [ "$CPS_PID" != "" ] ;then ps -ef|grep $CPS_PID|grep -v grep|awk -F" " '{print $2,$3}' > $tmpfile else echo "Warning:Input pid is null" return 1 fi while read line do o_pid_1=`echo $line|awk '{print $1}'` o_pid_2=`echo $line|awk '{print $2}'` if [ "$CPS_PID" = "$o_pid_1" ];then if [ "$o_pid_2" = "1" ];then rm -f $tmpfile return 1 else echo "$o_pid_2" rm -f $tmpfile return 0 fi fi done < $tmpfile rm -f $tmpfile return 1 } findallproc(){ CPS_PID=$1 tmpfile=/tmp/CheckProcessStat$$ if [ "$CPS_PID" != "" ] ;then ps -ef|grep $CPS_PID|grep -v grep|awk -F" " '{print $2,$3}' > $tmpfile else echo "Warning:Input pid is null" return 1 fi while read line do o_pid_1=`echo $line|awk '{print $1}'` o_pid_2=`echo $line|awk '{print $2}'` if [ "$CPS_PID" = "$o_pid_1" ];then echo "$CPS_PID" if [ "$o_pid_2" = "1" ];then #echo "$o_pid_1 is Root process" chidrenopt=0 chi_pid=$CPS_PID while [ $chidrenopt = 0 ] do chi_pid=`findchidenproc $chi_pid` if [ $? != 0 ];then chidrenopt=1 else echo "$chi_pid" fi done else parentopt=0 chidrenopt=0 par_pid=$CPS_PID chi_pid=$CPS_PID while [ $parentopt = 0 ] do par_pid=`findparentproc $par_pid` if [ $? != 0 ];then parentopt=1 else echo "$par_pid" fi done while [ $chidrenopt = 0 ] do chi_pid=`findchidenproc $chi_pid` if [ $? != 0 ];then chidrenopt=1 else echo "$chi_pid" fi done fi fi done < $tmpfile rm -rf $tmpfile return 1 } killproc () { pid=$1 if [ "$pid" = "" ];then echo "Warning :input pid is null" return 1 else proclist=`findallproc $pid` for i in $proclist do echo "kill -9 $i" done fi }
unixdialup开机自启动
1拷贝 check文件到/etc/rc.d/init.d/目录下面
cp /root/unixdialup/check /etc/rc.d/init.d/
2授予可执行权限
chmod +x check
3使用chkconfig设置为系统的服务
chkconfig --add check
4查看服务是否在列表内,查看是否有check
chkconfig --list
5重启系统测试是check正常启动
reboot
6启动后使用ps目录来查看java是否存在
ps -ef|grep java
7 如果想卸载check服务
chkconfig --del check
相关推荐
Shell脚本是一种脚本语言,利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能。 Shell脚本可以直接使用在Windows、Unix、Linux上面,并且可以调用大量系统内部的功能来解释执行程序。如果...
该脚本使用 `mysql` 命令连接数据库,使用 `mysqldump` 命令备份数据库,并使用循环备份多个数据库。 知识点: * `mysql` 命令:用于连接数据库。 * `mysqldump` 命令:用于备份数据库。 * 循环语句:用于备份多个...
定时备份的数据表 shell脚本(非常实用),并且加上linux crontab。满足日常需求 ~~
在实际工作中, Shell 脚本可以应用于各种自动化任务,例如文件备份、日志记录、网络监控等等。 Shell 脚本的编程技术也可以应用于其他领域,例如数据分析、机器学习等等。 Shell 脚本是一种强大的工具,能够帮助...
本资源提供了一个专为MySQL 5.7.8及以前版本设计的shell脚本,它允许用户进行自定义配置,方便快捷地执行数据库备份操作。 首先,我们需要了解`shell`脚本。Shell是Unix或Linux操作系统中的命令解释器,它允许用户...
本文档收集了250个实用的Shell脚本实例,涵盖了多个应用场景,包括系统管理、安全防护、数据库备份等核心知识点。 1. Dos攻击防范:通过监控Nginx的日志文件,检测到异常频繁的IP访问后,脚本会自动使用iptables...
本文将详细解析三个实用的Shell脚本,分别是用于备份文件、重命名文件和删除指定文件的脚本,适合初学者参考和实践。 1. 备份文件的脚本: ```bash #!/bin/bash E_BADARGS=65 case $# in 0) echo "message:param ...
在Shell脚本中,可能会使用`expdp`(数据泵导出)命令进行完整备份,`impdp`(数据泵导入)用于恢复。这些命令可以通过参数来指定要备份的数据库用户、表空间,甚至整个数据库。 邮件发送部分,脚本可能会使用`...
3. 网络管理:实例“检测网段主机状态”涉及网络知识,了解如何利用Shell脚本结合ping命令检测指定网段内主机的在线状态。 4. 数据备份与恢复:通过学习“使用rsync备份数据”,“自动备份mysql库文件”,“备份...
本文档汇总了109个实用的Shell脚本实例,涵盖了多个应用场景,包括系统管理、网络监控、数据库备份等。下面将详细讨论其中几个关键脚本。 1. Dos攻击防范(自动屏蔽攻击IP): 这个脚本通过分析Nginx的访问日志...
**Shell脚本学习指南** Shell脚本是Linux和Unix系统中的强大工具,它允许用户通过编写脚本来自动化一系列命令操作,极...通过阅读和实践,你将能熟练掌握编写高效、实用的Shell脚本,从而提升Linux环境下的工作效率。
在“Linux云计算-Shell脚本100例@www.java1234.com.pdf”这份资料中,读者可以期待看到一系列实用的Shell脚本示例,涵盖上述提到的各种应用场景。每个例子都会详细介绍其功能、实现原理和使用方法,帮助读者掌握编写...
在《shell脚本100例(最新版).pdf》这本书中,作者详细介绍了各种实用的Shell脚本案例,涵盖了从基础语法到高级应用的广泛知识。 1. **Hello World** 脚本是最基础的示例,它展示了如何创建一个简单的Shell脚本,`#!...
Shell脚本是Linux/Unix操作系统中的一种编程语言,它允许用户通过命令行接口执行一系列自动化任务。对于初学者来说,掌握Shell脚本可以极大地提高工作效率,尤其在日常系统管理、数据处理和自动化流程中。这份"shell...
在IT领域,Shell脚本是一种极其实用的工具,特别是在Linux和Unix系统中。Shell脚本是用Shell语言编写的程序,允许用户通过命令行界面自动化执行一系列操作。在这个名为"我的几个常用shell脚本"的压缩包中,包含了...
本文将详细介绍如何使用`mysqldump`工具创建shell脚本进行自动备份,并解析关键参数,同时探讨还原过程中可能遇到的问题及解决方案。 一、mysqldump简介 `mysqldump`是MySQL提供的一款命令行实用程序,用于导出...
这篇文档将深入解析标题"shell脚本可配置备份mysql5.7.8以前数据库异常sendEmail25发邮件.rar"中的关键知识点,包括shell脚本、MySQL数据库备份、异常处理以及sendEmail服务。 首先,我们要了解shell脚本。Shell...
- **脚本语言**: Shell脚本是用Shell语法编写的程序,类似于批处理文件,可以执行一系列命令。 2. **基本语法** - **变量**: 学习如何定义和使用变量,包括环境变量、局部变量和位置参数。 - **运算符**: 熟悉...
总结来说,这个压缩包提供的shell脚本是一个实用的工具,能够自动化对MySQL 5.7.8及更早版本的数据库进行备份,并在出现问题时通过邮件通知管理员。这样的解决方案对于需要定期备份数据库并确保数据安全的企业尤其有...
### Linux 平台下 RMAN 全备与增量备份 Shell 脚本解析 #### 一、RMAN 备份基础知识 RMAN (Recovery Manager) 是 Oracle 数据库的一个非常强大的备份与恢复工具,适用于各种操作系统环境,包括 Linux。本文将重点...