Linux当中自定义tomcat重启命令

前言

下图是 tomcat所在服务器上的路径位置
在这里插入图片描述

# 切换用户为admin
su - admin

我用的是普通用户admin,用户组也是admin。
因为下面都是基于用户admin做的操作,所以最好读者也创建一个用户admin来操作。

1 创建脚本文件

1.1 ombashrc

# 创建文件ombashrc
vi /home/admin/ombashrc

# 在ombashrc中写入下面内容
alias restart-om='$HOME/tomcat/bin/restart-om.sh'

1.2 restart-om.sh

# 创建文件ombashrc
vi /home/admin/tomcat/bin/restart-om.sh

# 在restart-om.sh中写入下面内容
#!/bin/sh

PID=`ps aux | grep org.apache.catalina.startup.Bootstrap | grep $HOME/tomcat | awk '{print $2}'`

if [ -n "$PID" ]; then
	    echo "Will stop server : $PID"
        kill -9 $PID
        echo "Server stopped : $PID"
else echo "No server process found, will start soon"
fi

if [ -f "~/tomcat/logs/catalina.out" ]; then
    cp -f ~/tomcat/logs/catalina.out ~/tomcat/logs/catalina.`date "+%Y_%m_%d_%H_%M"`.out
fi

if [ -f "~/tomcat/logs/gc.log" ]; then
    cp -f ~/tomcat/logs/gc.log ~/tomcat/logs/gc.`date "+%Y-%m-%d_%H_%M"`.log
fi

sleep 5
source $HOME/ombashrc
sh "$HOME/tomcat/bin/startup.sh"
sleep 5

PID1=`ps aux | grep org.apache.catalina.startup.Bootstrap | grep $HOME/tomcat | awk '{print $2}'`
if [ -n "$PID1" ]; then
        echo "Restart server successfully"
else
        echo "Failed to startup server"
        exit 1
fi

# 赋予文件restart-om.sh可执行权限
chmod +x restart-om.sh

下图简单介绍一下脚本内容。

在这里插入图片描述

Linux下 ~ 和 $HOME 的意义
1、在root用户下,~ 和 $HOME 等同于/root
2、在普通用户下,~ 和 $HOME  等同于/home/当前的普通用户名

在这里插入图片描述
在这里插入图片描述

补充:

# 如果你当前登录的用户不是admin的话,需要执行下面两行命令。否则启动脚本的时候会出现权限不够的问题。
# 变更 ombashrc 文件用户和用户组为admin
chown admin:admin /home/admin/ombashrc 

# 变更 ombashrc 文件用户和用户组为admin (如果你当前登录的用户不是admin的话,需要这样操作。)
chown admin:admin /home/admin/tomcat/bin/restart-om.sh

2 执行脚本文件

cd /home/admin
source ombashrc
restart-om

在这里插入图片描述

posted @   云村的王子  阅读(38)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2021-01-16 数据库语句书写顺序和执行顺序
2021-01-16 JS中通过Input中id获取输入框中的值
2021-01-16 MySQL case when then 用法
2021-01-16 通过input的name属性取值
点击右上角即可分享
微信分享提示