在之前的一篇文章中《SpringBoot(九)定时任务Schedule》,已经详细介绍了关于schedule框架的配置和使用,有收到一些朋友关于部署的私信,所以抽时间整理一个linux部署的schedule的教程。
v准备脚本
关于shell脚本不多介绍,部署jar包的网上一搜一堆,直接贴脚本了。
#!/bin/sh
#使用方法
# 1:执行运行 ./test.task.sh 输入 1、2、3
# 2:执行运行 ./test.task.sh start|stop|restart
BIZ_NAME="test_demo_task" # 业务名称(英文、数字、下划线)
JAR_NAME="demo-0.0.1-SNAPSHOT.jar" # exec jar 文件路径
JAR_ARGS="export" # jar包启动参数
PID_PATH="/var/srv/test/" # PID 路径
start(){
if [ ! -d $PID_PATH ]
then
mkdir -p $PID_PATH
chmod 777 -R $PID_PATH
fi
JAVA_OPTS="-Xmx512M -Xms64M -Xmn32M -Xss256K "
echo "ˇstart service ..."
nohup java -jar "$(cd `dirname $0`; pwd)/$JAR_NAME" $JAR_ARGS $JAVA_OPTS &
echo $!>"${PID_PATH}_${BIZ_NAME}.pid"
echo "ˇstart service success ..."
}
stop(){
echo "stop service ..."
kill `cat "${PID_PATH}_${BIZ_NAME}.pid"`
rm -rf "${PID_PATH}_${BIZ_NAME}.pid"
echo "stop service end ..."
}
restart(){
stop
sleep 3
start
}
if [ -n "$1" ]
then
case "$1" in
"start")
start
;;
"stop")
stop
;;
"restart")
restart
;;
*)
echo 'You do not input a run param'
;;
esac
else
if read -n 1 -t 10 -p "User Command: {start:1|stop:2|restart:3}" input
then
case $input in
1)
start
;;
2)
stop
;;
3)
restart
stop
;;
*)
echo 'You do not select a number between 1 to 3'
;;
esac
else
echo "timeout ,please retry ..."
fi
fi
exit 0
v部署Schedule
1.0 打包
2.0 上传包和脚本文件
rz -y或者sudo rz -y选择文件
3.0 脚本添加可执行属性
chmod +x *.sh
4.0 执行脚本
查看输出less nohup.out
日志一直输出快捷键Shift+F
查看进程ps -ef | grep name
v源码地址
作 者:http://www.cnblogs.com/toutou/
关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信我
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!
SpringBoot进阶教程(二十九)整合Redis 发布订阅
SUBSCRIBE, UNSUBSCRIBE 和 PUBLISH 实现了 发布/订阅消息范例,发送者 (publishers) 不用编程就可以向特定的接受者发送消息 (subscribers). Ra ...
SpringBoot进阶教程(二十七)整合Redis之分布式锁
在之前的一篇文章(),已经介绍过几种java分布式锁,今天来个Redis分布式锁的demo.redis 现在已经成为系统缓存的必备组件 ...
SpringBoot进阶教程(二十八)整合Redis事物
Redis默认情况下,事务支持被禁用,必须通过设置setEnableTransactionSupport(true)为使用中的每个redistplate显式启用.这样做会强制将当前重新连接绑定到触发m ...
SpringBoot进阶教程(二十六)整合Redis之共享Session
集群现在越来越常见,当我们项目搭建了集群,就会产生session共享问题.因为session是保存在服务器上面的.那么解决这一问题,大致有三个方案,1.通过nginx的负载均衡其中一种ip绑定来实现( ...
SpringBoot进阶教程(二十五)整合Redis之@Cacheable、@CachePut、@CacheEvict的应用
在上一篇文章()中,已经实现了Spring Boot对Redis的整合,既然已经讲到Cache了,今天就介绍介绍缓存注解.各家互联网产品现在 ...
SpringBoot进阶教程(六十三)Jasypt配置文件加密
数据库密码直接明文写在配置中,对安全来说,是一个很大的挑战.一旦密码泄漏,将会带来很大的安全隐患.尤其在一些企业对安全性要求很高,因此我们就考虑如何对密码进行加密.本文着重介绍Jasypt对Sprin ...
SpringBoot进阶教程(二十四)整合Redis
缓存现在几乎是所有中大型网站都在用的必杀技,合理的利用缓存不仅能够提升网站访问速度,还能大大降低数据库的压力.Redis提供了键过期功能,也提供了灵活的键淘汰策略,所以,现在Redis用在缓存的场合非 ...
SpringBoot进阶教程(二十二)集成RabbitMQ---MQ实战演练
RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统.他遵循Mozilla Public License开源协议.RabbitMQ是流行的开源消息队列系统,用erlang语言开发.Rab ...
SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1
在之前的博文介绍了idea搭建SpringBoot的详细过程, 并在中介绍了Tomca ...
随机推荐
Making my own Autonomous Robot in ROS / Gazebo, Day 1: Building the static model
Day 1: Setting up ROS: Indigo OS: Ubuntu 14.04 OS: Gazebo 7.0.0 Initialize the workspace To create t ...
TCP 四次握手
TCP协议中的三次握手和四次挥手(图解) http://blog.csdn.net/whuslei/article/details/6667471/
img标签中alt和title属性的正确使用
在的img标签有两个属性分别为alt和title,对于很多初学者而言对这两个属性的正确使用都还抱有迷惑,当然这其中一部分原因也是ie浏览器所导致的.正确的使用这两个属性除了可以提高图片的搜索能力外,在 ...
paper 41:正交变换
正交变换是保持图形形状和大小不变的几何变换,包含旋转,轴对称及上述变换的复合. 几何意义 正交变换是保持图形形状和大小不变的几何变换,包含旋转,轴对称及上述变换的复合. 代数定义 欧几里得空间V的线性 ...
Linux上安装JDK环境变量配置
http://blog.chinaunix.net/uid-12115233-id-3304951.html Jdk: jdk-6u1-linux-i586 Tomcat: apache-tomcat ...
[转] Express 4 中的变化
http://www.cnblogs.com/haogj/p/3985438.html 概览 从 Express 3 到Express 4 是一个巨大的变化,这意味着现存的 Express 3 应用在 ...
Cat 跨线程之 ForkedTransaction 用法和原理分析
代码 package com.dianping.cat.message.internal; import com.dianping.cat.Cat; import com.dianping.cat.m ...
Tomcat配置虚拟路径访问容器外的硬盘资源
问题: 如果tomcat中上传了很多的图片,会导致tomcat启动的时候会慢,所以应该把图片上传到tomcat容器外部 那么,问题来了: tomcat出于安全考虑,禁止了直接访问外部硬盘资源. 解决: ...
VS2008 打开 VS2010解决方案及项目(转)
第一步,修改解决方案后缀为sln的文件 Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 201 ...
MVVM 的理解
MVVM 是 Model - View - ViewModel 的缩写 可以看到他和之前的MVC很像,的确有人称之为一个加强优化版的MVC. 是一种模块化开发代码分层的思想或者框架! MVVM 的优点 ...