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