针对Linux上Java程式运行脚本的Log信息记录操作人员记录以及成功运行判断
简介与优点
使用该教程,能直观地看到java启动脚本是否启动/关闭成功
能让自己的启动时间日期都记录在Log中
能记录有哪些人登陆了该服务器操作了启动关闭脚本(记录IP地址)
使用说明
在原有的启动和关闭脚本底下分别加入以下代码
# 在启动脚本末尾添加这个
source /home/root/start4Log.sh
# 在关闭脚本末尾添加这个
source /home/root/stop4Log.sh
start4Log.sh脚本
下载地址在start4Log脚本中,可以直观看到程式是否启动成功,并将启动过程记录在log日志中
# Log记录路径
FWlog_dir=/home/p4fdc/PeakPerformance/FWlog/FWHistory.log
echo "============================" >> ${FWlog_dir}
echo "[start${FID}.sh]" >> ${FWlog_dir}
date -d "today" +"%Y-%m-%d-%H-%M-%S" >> ${FWlog_dir}
# 输出当前服务器已登录的用户与IP到Log中
who >> ${FWlog_dir}
ps -ef | grep java | grep $FID
# 这里是对对应的$FID java程式判断,查询是否存在这样的FID的java程式
if [ $? -eq 0 ] ;then
# 如果上面命令运行成功,也即对应的程式启动好了则执行下面的命令
# 这里的echo -e是输出带格式的字符串。\33[42;37m ????? \033[0m 所包裹的文字将显示绿底白字
echo -e "\033[42;37m Start ${FID} Successfully! \033[0m"
echo "Start ${FID} Successfully!" >> ${FWlog_dir}
ps -ef | grep java | grep $FID >> ${FWlog_dir}
else
# 如果上面命令运行失败,也即对应的程式未启动好了则执行下面的命令
# 这里的echo -e是输出带格式的字符串。\33[41;37m ????? \033[0m 所包裹的文字将显示红底白字
echo -e "\033[41;37m Start ${FID} Failured! \033[0m"
echo "Start ${FID} Failured!" >> ${FWlog_dir}
fi
echo "============================" >> ${FWlog_dir}
stop4Log.sh
下载地址在stop脚本中可以进行传参,诸如传递一个-f的参数使用 ./stopTestJava.sh -f,则在无法kill的时候使用kill -9强制kill。以下为具体代码
# 先等待2s,然后再判断该Java程式是否成功关闭(因为关闭有时延)
sleep 2
FWlog_dir=/home/p4fdc/PeakPerformance/FWlog/FWHistory.log
echo "============================" >> ${FWlog_dir}
echo "[stop$FID.sh] : " >> ${FWlog_dir}
date -d "today" +"%Y-%m-%d-%H-%M-%S" >> ${FWlog_dir}
# 输出当前服务器已登录的用户与IP到Log中
who >> ${FWlog_dir}
ps -ef | grep java | grep $FID
if [ $? -eq 0 ] ;then
# 如果上面命令运行成功,也即对应的程式关闭了则执行下面的命令
# 这里的echo -e是输出带格式的字符串。\33[41;37m ????? \033[0m 所包裹的文字将显示红底白字
echo -e "\033[41;37m Stop ${FID} Failured! \033[0m"
echo "Stop ${FID} Failured!" >> ${FWlog_dir}
ps -ef | grep java | grep $FID >> ${FWlog_dir}
# 判断是否被传参
if [[ -n "$1" ]]; then
# 如果含有第一个参数则直接强制kill
ps -ef | grep java | grep $FID | grep java | kill -9 `awk '{print $2}'`
ps -ef | grep java | grep $FID
if [ $? -eq 0 ] ;then
echo -e "\033[41;37m Force Stop ${FID} Still Failured!You need to check manually.\033[0m"
echo "Force Stop ${FID} Failured!" >> ${FWlog_dir}
ps -ef | grep java | grep $FID >> ${FWlog_dir}
else
# 这里的echo -e是输出带格式的字符串。\33[42;37m ????? \033[0m 所包裹的文字将显示绿底白字
echo -e "\033[42;37m Force Stop ${FID} Successfully! \033[0m"
echo "Force Stop ${FID} Successfully!" >> ${FWlog_dir}
fi
else
# 如果没有第一个参数则询问用户是否强制删除
read -p "Want to Force Kill the process?[y/n]" choice
case $choice in
[yY][eE][sS]|[yY])
ps -ef | grep java | grep $FID | grep java | kill -9 `awk '{print $2}'`
ps -ef | grep java | grep $FID
if [ $? -eq 0 ] ;then
echo -e "\033[41;37m Force Stop ${FID} Still Failured!You need to check manually.\033[0m"
echo "Force Stop ${FID} Failured!" >> ${FWlog_dir}
ps -ef | grep java | grep $FID >> ${FWlog_dir}
else
echo -e "\033[42;37m Force Stop ${FID} Successfully! \033[0m"
echo "Force Stop ${FID} Successfully!" >> ${FWlog_dir}
fi
;;
[nN][oO]|[nN])
echo -e "\033[41;37m You Need To Check manually!\033[0m "
echo "Not Choose Force Stop!" >> ${FWlog_dir}
;;
*)
echo "Invalid input..."
;;
esac
fi
else
echo -e "\033[42;37m Stop ${FID} Successfully! \033[0m"
echo "Stop ${FID} Successfully!" >> ${FWlog_dir}
fi
echo "============================" >> ${FWlog_dir}
针对Linux上Java程式运行脚本的Log信息记录操作人员记录以及成功运行判断的更多相关文章
- Linux上java程序的jar包启动通用脚本(稳定用过)
Linux上java程序的jar包启动通用脚本如下: #! /bin/sh export LANG="zh_CN.GBK" SERVICE_NAME=` .sh` SCRIPT_N ...
- linux上java路径设置
linux上java路径设置 标签: javalinuxpath 2012-04-30 22:14 1843人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. 往/e ...
- linux上 java 使用 javasqlite
linux上 java 使用 javasqlite http://www.ch-werner.de/javasqlite/ 1) 下载: http://www.ch-werner.de/javasql ...
- 常见的linux上的服务重启脚本
手写linux上的重启脚本,先把提纲列下 1.检查进程是否存在 存在杀死 2.备份原来的包到指定目录 3. 拉取新包,我这边为了简便,没有从jenkins slave上拿 4.启动命令 5.检查是否进 ...
- linux上java解加密(AES/CBC)异常:java.lang.SecurityException: JCE cannot authenticate the provider BC办法
用mapreduce做数据清洗的时候,需要对数据进行解密,加密方法是:AES/CBC/PKCS7Padding,由于java本身不支持,需要添加依赖,用的依赖是: <dependency> ...
- 【Linux】-- Linux上java运行环境的配置(JDK+TOMCAT)
1.JDK安装 安装之前首先要查询软件是否存可以直接使用yum安装 yum search java | grep open 选择需要的版本安装 注意:*星号代表下载该版本的所有文件,不能少. 验证是否 ...
- Java:Linux上java -jar xxx.jar&java -cp 区别
java -cp java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库和jar包,需要全路径到jar包,多个jar包之间连接符:window上分号“;”.Lin ...
- Linux上Java的安装与配置
由于使用 yum 或者 apt-get 命令 安装 openjdk 可能存在类库不全,从而导致用户在安装后运行相关工具时可能报错的问题,所以此处我们推荐采用手动解压安装的方式来安装 JDK.具体步骤如 ...
- linux上java和golang环境变量的设置
JAVA环境变量 (1).打开~/.bashrc完成环境配置( 作用类似于/etc/bashrc, 只是针对用户自己而言,不对其他用户生效.) 文件追加 expo ...
随机推荐
- 大数据计算的基石——MapReduce
MapReduce Google File System提供了大数据存储的方案,这也为后来HDFS提供了理论依据,但是在大数据存储之上的大数据计算则不得不提到MapReduce. 虽然现在通过框架的不 ...
- Codeforces1348 题解
AC代码连接 A Phoenix and Balance 显而易见,将前\(\frac{n}{2}-1\)个和最后1个分为1组,剩下的1组即为最优方案. B Phoenix and Science 这 ...
- 非IT行业大企程序员讲述MIS系统开发案例
雪莉叹了一口气,调整了一下被汗水濡湿的刘海,然后向后靠在办公椅中,伸手在电脑键盘上输入了一些内容, 最后拿起印刷着房地产广告的扇子,边扇风边等待着. 她的工位在办公室的东侧角落,侧靠着窗.此时 ...
- 一键部署k8s
本人学习安装kubernetes时,顺便整理了安装脚本,可以通过执行一个脚本,自动二进制安装好1台master+2台node的k8环境.方便需要学习k8s的同学. 百度网盘:https://pan.b ...
- 为系统增加删除swap空间
增加 1.创建/home/swap这么一个分区文件.文件大小是512000个block,一般情况下1个block为1k,所以这里空间是512M,这个空间大小自己随意定义. dd if=/dev/zer ...
- springboot x.x.x RELEASE不同版本的差异
springboot 1.x.x RELEASE的 application.properties配置 server.context-path=/ server.port=8080 server.ses ...
- Kubernetes 初体验(先占个坑)
- ZK集群源码解读
1.1. 集群模式 1.1.1. 数据同步总流程 1.1.1.1. OBSERVING 1.1.1.2. FOLLOWING 1.1.1.3. LEADING 1.1.2. 领导选举 1.1.2. ...
- 通达OA任意用户登录漏洞复现
前言 今年hw挺火爆的,第一天上来就放王炸,直接搞得hw暂停 昨天晚上无聊,复现了一下通达oa的洞,也有现成的exp可以使用,比较简单 0x00 漏洞概述 通达OA是一套国内常用的办公系统,此次发现的 ...
- PHP相关的书签内容
ThinkPHP函数详解 session方法 --ThinkPHP 开源PHP框架 ThinkPHP实现支付宝接口功能 - /折磨 - 博客园 php几个常用的概率算法(抽奖.广告首选) - 懒人技术 ...