实现Weblogic服务进程监控及自动重启脚本

简介: Weblogic服务偶尔会挂掉,为了使weblogic能够在挂掉后第一时间能够重启,基于此背景下实现Weblogic进程监控及自动重启脚本,本文主要记录实现过程中遇到的问题及解决办法。

Weblogic服务器偶尔会挂掉,为了使weblogic能够在挂掉后第一时间能够重启,基于此背景下实现了Weblogic进程监控及自动重启脚本。

第一部分,Weblogic自动重启脚本如下:

#!/bin/sh
port1=8002
ipaddr1=192.168.1.4
currentDate=`date '+%Y-%m-%d %H:%M:%S'`

ps -aux | grep weblogic
sleep 3
port1Info1=`netstat -an|awk '{print $1, $4}' |sort -u| grep '[^0-9]'$port1'$' | grep ''$ipaddr1'' |wc -l`

if [ "$port1Info1" -eq "0" ];
then
  echo 'start'$port1' service.'
  nohup sh /data/weblogic/Oracle/Middleware/user_projects/domains/base_domain/restart_server1.sh
fi
exit 0

遇到的问题:当监控到weblogic进程不存在时,采用绝对路径启动失败;但手动执行监控脚本可正常判断当服务宕机时重启服务,部署到定时任务则无法启动,上述脚本的中的部分代码,如果部署到定时任务则无法自动重启:

nohup sh /data/weblogic/Oracle/Middleware/user_projects/domains/base_domain/restart_server1.sh

解决方法:必须切换到脚本所在的目录执行启动脚本,否则加入到系统定时任务中无法正常自动启动服务,如以下代码:

cd /data/weblogic/Oracle/Middleware/user_projects/domains/base_domain  nohup ./restart_server1.sh&

第二部分,实现了Weblogic监控及调用重启脚本如下:

#!/usr/bin/perl
@array_port = (
8891,
8892,
8893
);
$ipaddr1 = "10.3.40.214";

#$IPADDR=`ifconfig | grep 'inet addr' |sed 2,10d | cut -d: -f2| cut -d' ' -f1`;
#chop $IPADDR;

foreach $port (@array_port[0..$#array_port]){
 my $port1Info = `netstat -an|awk '{print \$1, \$4}' |sort -u| grep '[^0-9]$port\$' | grep '$ipaddr1' |wc -l`;
 chop $port1Info;
 print "$port -- $port1Info\n";
 if ($port1Info == "0"){
   print "start $port service.\n";
   $stat = `sh /data/monWeblogic.sh`;
   print "excute weblogic start script, start status: $stat\n";
 }
}
exit;
相关文章
|
9天前
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
7月前
|
监控 Linux 应用服务中间件
探索Linux中的`ps`命令:进程监控与分析的利器
探索Linux中的`ps`命令:进程监控与分析的利器
151 13
|
3月前
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
57 1
|
4月前
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
213 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
4月前
|
监控
MASM32写的免费软件“ProcView/系统进程监控” V1.4.4003 说明和下载
MASM32写的免费软件“ProcView/系统进程监控” V1.4.4003 说明和下载
|
4月前
|
监控 Ubuntu API
Python脚本监控Ubuntu系统进程内存的实现方式
通过这种方法,我们可以很容易地监控Ubuntu系统中进程的内存使用情况,对于性能分析和资源管理具有很大的帮助。这只是 `psutil`库功能的冰山一角,`psutil`还能够提供更多关于系统和进程的详细信息,强烈推荐进一步探索这个强大的库。
62 1
|
5月前
|
数据采集 监控 API
如何监控一个程序的运行情况,然后视情况将进程杀死并重启
这篇文章介绍了如何使用Python的psutil和subprocess库监控程序运行情况,并在程序异常时自动重启,包括多进程通信和使用日志文件进行断点重续的方法。
|
5月前
|
Linux Perl
在Linux中,系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?
在Linux中,系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?
|
6月前
|
运维 Python Windows
如何通过Python脚本查找并终止占用指定端口的进程
在日常的开发和运维过程中,某些端口被意外占用是一个常见的问题。这种情况可能导致服务无法启动或冲突。本文将介绍如何通过Python脚本查找并终止占用指定端口的进程,以确保系统的正常运行。
|
7月前
|
开发框架 安全 .NET
【权限提升】Win本地用户&进程注入&令牌窃取&AT&SC&PS服务命令
【权限提升】Win本地用户&进程注入&令牌窃取&AT&SC&PS服务命令

热门文章

最新文章

相关实验场景

更多