针对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 ...
随机推荐
- 第4篇 Scrum 冲刺博客
1.站立会议 照骗 进度 成员 昨日完成任务 今日计划任务 遇到的困难 钟智锋 重新设计项目执行流程 实现技能 庄诗楷 游戏窗口的制作 制作了开始游戏的界面,感觉还不错 无 易德康 完成所有棋子的移动 ...
- python编程中的并发------多进程multiprocessing
任务例子:喝水.吃饭动作需要耗时1S 单任务:(耗时20s) for i in range(10): print('a正在喝水') time.sleep(1) print('a正在吃饭') time. ...
- css基本样式设置
div中文字居中 如何让一个div中的文字水平和垂直居中?设置如下: 给定该div的长宽(或者二者只给出其一也可) .box{ height: 100px; width: 30%; text-alig ...
- Apache Hudi 0.6.0版本重磅发布
1. 下载信息 源码:Apache Hudi 0.6.0 Source Release (asc, sha512) 二进制Jar包:nexus 2. 迁移指南 如果您从0.5.3以前的版本迁移至0.6 ...
- ORB-SLAM: A Versatile and Accurate Monocular SLAM System 笔记(一)
ORB-SLAM: A Versatile and Accurate Monocular SLAM System Abstract 这篇文章提出了 ORB-SLAM,一个基于特征的单目SLAM系统,这 ...
- seo成功案例的背后秘密
http://www.wocaoseo.com/thread-319-1-1.html 刚刚在seo群内一个企业主告诉我,他在淘宝找了做seo排名的,在交了首付后,对方却跑路了.对方刚刚在淘宝开店,然 ...
- Qt QDialog添加最大化和最小化按钮
Qt QDialog添加最大化和最小化按钮(转载) QDialog窗体右上角默认是没有最小化和最大化按钮的. 1.效果 2.上代码 1 // 设置窗体最大化和最小化 2 Qt::WindowFlags ...
- QT_QGIS_基本使用
QT_QGIS_基本使用 1.新建画布 2.添加矢量图层 1.打开矢量图层 2.新建矢量图层 1.添加几何要素--点 2.添加几何要素--线 3.添加栅格图层 1.打开栅格图层 小 ...
- linux 文件系统和磁盘
linux 文件系统和磁盘 1.文件系统 ext2, ext3, ext4 , XFS ext3和ext4为日志文件系统 文件系统格式 : 磁盘格式化为 inode和block inode是索引,记录 ...
- C:算术表达式求值
代码: // fgets2.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <stdio.h> #includ ...