针对Linux上Java程式运行脚本的Log信息记录操作人员记录以及成功运行判断

编程

使用该教程,能直观地看到java启动脚本是否启动/关闭成功

能让自己的启动时间日期都记录在Log中

能记录有哪些人登陆了该服务器操作了启动关闭脚本(记录IP地址)

简介与优点

使用该教程,能直观地看到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 ????? 33[0m 所包裹的文字将显示绿底白字

echo -e "33[42;37m Start ${FID} Successfully! 33[0m"

echo "Start ${FID} Successfully!" >> ${FWlog_dir}

ps -ef | grep java | grep $FID >> ${FWlog_dir}

else

# 如果上面命令运行失败,也即对应的程式未启动好了则执行下面的命令

# 这里的echo -e是输出带格式的字符串。33[41;37m ????? 33[0m 所包裹的文字将显示红底白字

echo -e "33[41;37m Start ${FID} Failured! 33[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 ????? 33[0m 所包裹的文字将显示红底白字

echo -e "33[41;37m Stop ${FID} Failured! 33[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 "33[41;37m Force Stop ${FID} Still Failured!You need to check manually.33[0m"

echo "Force Stop ${FID} Failured!" >> ${FWlog_dir}

ps -ef | grep java | grep $FID >> ${FWlog_dir}

else

# 这里的echo -e是输出带格式的字符串。33[42;37m ????? 33[0m 所包裹的文字将显示绿底白字

echo -e "33[42;37m Force Stop ${FID} Successfully! 33[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 "33[41;37m Force Stop ${FID} Still Failured!You need to check manually.33[0m"

echo "Force Stop ${FID} Failured!" >> ${FWlog_dir}

ps -ef | grep java | grep $FID >> ${FWlog_dir}

else

echo -e "33[42;37m Force Stop ${FID} Successfully! 33[0m"

echo "Force Stop ${FID} Successfully!" >> ${FWlog_dir}

fi

;;

[nN][oO]|[nN])

echo -e "33[41;37m You Need To Check manually!33[0m "

echo "Not Choose Force Stop!" >> ${FWlog_dir}

;;

*)

echo "Invalid input..."

;;

esac

fi

else

echo -e "33[42;37m Stop ${FID} Successfully! 33[0m"

echo "Stop ${FID} Successfully!" >> ${FWlog_dir}

fi

echo "============================" >> ${FWlog_dir}

以上是 针对Linux上Java程式运行脚本的Log信息记录操作人员记录以及成功运行判断 的全部内容, 来源链接: utcz.com/z/515922.html

回到顶部