案例2-tomcat自启动脚本
适用于ubuntu,centos
涉及知识点
1. 函数
2. case语句
#!/bin/bash
#chkconfig:
#description:Tomcat service
#pidfile: /var/run/tomcat.pid
#processname: tomcat
#说明:
#第一行是服务的配置:第一个数字是服务的运行级,2345表明这个服务的运行级是2、、4和5级(Linux的运行级为0到6);第二个数字是启动优先级,数值从0到99;第三个数是停止优先级,数值也是从0到99。(运行级介绍见附录4.)
#第二行是对服务的描述
#如果不写这两行,在执行“chkconfig --add tomcat”时,会出现“tomcat服务不支持chkconfig”的错误提示
#后面那两行是参照公司脚本加上的,可以测试下是否有用。 #tomcat auto-start export JAVA_HOME=/usr/lib/jvm/jdk1..0_80
TOMCATS="apache-tomcat-7.0.81" getPID(){
PID=$(ps -ef | grep tomcat | awk '/java/' | awk '{print $2}' )
#awk ’/java/'是搜索有java关键字的所有行
} stopt(){
HOME=/home/axinfu/apache-tomcat-7.0.
getPID
if [[ "${PID}X" == "X" ]]; then
echo "$TOMCATS is not running"
else
kill - $PID
sleep 0.5
#echo $PID ---测试
PID=$(ps -ef | grep tomcat | awk '/java/' | awk '{print $2}' )
# echo $PID --测试
[ -z "$PID" ] && echo "TOMCAT HAS STOPPED" || echo "TOMCAT IS STOPPING"
#注意:在杀掉进程后,需要重新定义PID的变量值,-z可以判断字符串是否为空
fi
}
statust(){
getPID
if [[ "${PID}X" == "X" ]]; then
echo "TOMCATS is not running"
else
echo "TOMCATS is running... PID: ${PID}"
fi
} case $ in
start)
/bin/su -s /bin/sh - axinfu -c "cd /home/axinfu/apache-tomcat-7.0.81/bin/&&./startup.sh"
;;
stop)
stopt
;;
restart)
stopt
/bin/su -s /bin/sh - axinfu -c "cd /home/axinfu/apache-tomcat-7.0.81/bin/&&./startup.sh"
# -s : --shell -c:给shell传一个命令 -axinfu:就是切换到axinfu用户下。
;;
status)
statust
;;
*)
echo 'Usage:tomcat start|stop|restart|status'
;;
esac exit
ubuntu加入开机启动的命令
1)开机启动tomcat,如果是简单的一条启动命令,可以在/etc/rc.local中添加,
2)如果想运行脚本,则可先将脚本复制或者软连接到/etc/init.d/目录下,然后用:
update-rc.d tomcat defaults NN命令(NN为启动顺序,比如95) #加入自启动命令
update-rc.d -f tomcat remove #去取自启动
centos加入开机启动命令
tomcat加到开机启动 chkconfig --add tomcat chkconfig --list tomcat 查看是否成功
案例2-tomcat自启动脚本的更多相关文章
- tomcat自启动脚本
1.#cd /etc/rc.d/init.d2.#vi tomcat3.把下面的代码保存为tomcat文件,并让它成为可执行文件 chmod 755 tomcat. #!/bin/sh # # /et ...
- 任务:写一个tomcat自启动脚本
写一篇<gitlab无法启动了应该怎么办>
- Tomcat重启脚本restart.sh停止脚本stop.sh
Tomcat重启脚本restart.sh停止脚本stop.sh Tomcat本身提供了 startup.sh(启动)shutdown.sh(关闭)脚本,我们在部署中经常会出现死进程形象,无法杀掉进程需 ...
- linux 开机自启动脚本
在/etc/rc.local文件中添加自启动命令(其中一种方法) 1.案例,就用博主本人之前发的博文 “nginx + flask + uwsgi + centos + python3 搭建web项目 ...
- 转载:ubuntu 下添加简单的开机自启动脚本
转自:https://www.cnblogs.com/downey-blog/p/10473939.html linux下添加简单的开机自启动脚本 在linux的使用过程中,我们经常会碰到需要将某个自 ...
- 腾讯云服务器centos 6.5(jdk+tomcat+vsftp)、腾讯mysql数据库 及 tomcat自启动 配置教程
1.腾讯云数据库配置 1.考虑到安全性问题,,平常不使用root用户登录,新增一个用户名neil,用来管理项目的数据库 a.首先登录root创建db_AA数据库 b.在root用户下,创建neil用户 ...
- Tomcat启动脚本
记录一个比较好的tomcat启动脚本,截取<OneinStack>,修改如下两个参数即可用. 使用之前修改下面2个参数: #Location of JAVA_HOME (bin files ...
- linux添加开机自启动脚本示例详解
linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有 ...
- 【转】linux 编译安装nginx,配置自启动脚本
linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装ng ...
- linux 编译安装nginx,配置自启动脚本
本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装nginx,记录下安装过程: 参照这篇文章:Linu ...
随机推荐
- MobileMovieTexture播放视频
MobileMovieTexture插件支持IOS系统播放视频文件.简单,方便
- Log4J的配置文件详解
来自: http://www.blogjava.net/zJun/archive/2006/06/28/55511.html Log4J的配置文件(Configuration File)就是用来设置记 ...
- rsyslog收集nginx日志配置
rsyslog日志收集配置 rsyslog服务器收集各服务器的日志,并汇总,再由logstash处理 请查看上一篇文章 http://bbotte.blog.51cto.com/6205307/16 ...
- sqlserver 文件与文件组的使用和优化
文件和文件组填充策略 文件组对组内的所有文件都使用按比例填充策略.当数据写入文件组时,SQL Server 数据库引擎按文件中的可用空间比例将数据写入文件组中的每个文件,而不是将所有数据都写入 ...
- scala的隐式转换
摘要: 通过隐式转换,程序员可以在编写Scala程序时故意漏掉一些信息,让编译器去尝试在编译期间自动推导出这些信息来,这种特性可以极大的减少代码量,忽略那些冗长,过于细节的代码. 使用方式: 1. ...
- code4511 信息传递
寻找最小环 #include <cstdio> #include <cstring> #include <iostream> using namespace std ...
- HDU 4514 湫湫系列故事――设计风景线 (树形DP)
题意:略. 析:首先先判环,如果有环直接输出,用并查集就好,如果没有环,那么就是一棵树,然后最长的就是树的直径,这个题注意少开内存,容易超内存, 还有用C++交用的少一些,我用G++交的卡在32764 ...
- 关于Javascript 那些事
Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为 ...
- jenkins构建后接受者收不到邮件问题解决方案
jenkins部署.安装增强版邮件插件,配置邮件及增强版邮件通知请参考网上教程,由于教程比较多页通俗易懂,笔者在这里不做重复说明,本文重点是解决配置好增强版邮件,job构建后仍然收不到邮件的问题 步骤 ...
- delphi数组之菜鸟篇
数组是可以通过索引来引用的同类型数据的列表.按照存储空间的获取方式,Delphi支持的数组类型有两种,即静态数组和动态数组.所谓静态数组就是在声明时就已经确定大小的数组类型,而动态数组是指其大小在声明 ...