gofastdfs启动脚本control.sh
#!/bin/bash
#gofastdfs启动脚本
#文件名control.sh
#go-fastdfs启动方式
#/home/gofastdfs/
#./control.sh start
#./control.sh restart
#./control.sh status
#./control.sh stop
WORKSPACE=$(cd $(dirname $0)/; pwd)
cd $WORKSPACE
mkdir -p log conf
module=
appname=$(basename $WORKSPACE)
## 注意:这里每个应用的启动命令是不一样的,
## 启动命令必须在前端运行(即不需要nohup)运行,
## 系统会自动加上nohup运行
## 例如:run_cmd=java -jar spring-hello.jar
run_cmd=./fileserver
conf=conf/cfg.json
pidfile=conf/app.pid
logfile=log/app.log
function check_pid() {
if [ -f $pidfile ];then
pid=`cat $pidfile`
if [ -n $pid ]; then
running=`ps -p $pid|grep -v "PID TTY" |wc -l`
return $running
fi
fi
return 0
}
#应用发布接口
function deploy() {
#自定义发布
#例如修改配置,移动文件夹等。。。
echo "请修改deploy接口,以满足你的发布需求。"
}
#应用启动接口
function start() {
check_pid
running=$?
if [ $running -gt 0 ];then
echo -n "$appname now is running already, pid="
cat $pidfile
return 1
fi
nohup $run_cmd &> $logfile &
echo $! > $pidfile
#echo "$appname started..., pid=$!"
sleep 3
status
}
#停止应用接口
function stop() {
pid=`cat $pidfile`
kill $pid
echo "$appname stoped..."
}
function restart() {
stop
sleep 1
start
}
#应用状态检测接口
function status() {
check_pid
running=$?
if [ $running -gt 0 ];then
echo -n "$appname now is running, pid="
cat $pidfile
#注意:以下输出不能修改,程序会自动根据这个输出做状态判断
echo "app_status:running"
else
#注意:以下输出不能修改,程序会自动根据这个输出做状态判断
echo "$appname is stoped"
echo "app_status:stoped"
fi
}
function tailf() {
timeout 50 tail -f $logfile
}
#应用构建接口
function build() {
# 注意:如果需要定制编译命令,可以修改这里
git log -1 --pretty=%h > gitversion
if [[ -f ./build.sh ]];then
sh ./build.sh #custom
elif [[ -f ./pom.xml ]];then
mvn install #java
elif [[ -f ./package.json ]];then
npm install #node
npm run product
fi
if [ $? -ne 0 ]; then
exit $?
fi
}
function pack() {
build
version=`cat gitversion`
file_list="control $appname"
tar zcf $appname-$version.tar.gz gitversion $file_list
}
function packbin() {
build
git log -1 --pretty=%h > gitversion
version=`cat gitversion`
tar zcvf $appname-bin-$version.tar.gz $appname gitversion
}
function help() {
echo "$0 start|stop|restart|status|tail|build|pack|deploy|help"
}
if [ "$1" == "" ]; then
help
elif [ "$1" == "stop" ];then
stop
elif [ "$1" == "start" ];then
start
elif [ "$1" == "build" ];then
build
elif [ "$1" == "deploy" ];then
deploy
elif [ "$1" == "restart" ];then
restart
elif [ "$1" == "pack" ];then
pack
elif [ "$1" == "status" ];then
status
elif [ "$1" == "tail" ];then
tailf
else
help
fi
gofastdfs启动脚本control.sh相关推荐
- Linux qt程序打包依赖库,Linux打包免安装的Qt程序(编写导出依赖包的脚本copylib.sh,程序启动脚本MyApp.sh)...
本文介绍如何打包Qt程序,使其在没有安装Qt的系统可以运行. 默认前提:另外一个系统和本系统是同一个系统版本. 1,编写导出依赖包的脚本copylib.sh #!/bin/bash LibDir=$P ...
- Tomcat启动脚本startup.sh分析
一.分析说明 为了写出更加完善的tomcat启动方面的自动化脚本,健壮自己用于代码上线自动化部署的脚本,特分析下tomcat的bin目录下的starup.sh脚本,学习标准的sh脚本的编写方法 ...
- linux tomcat startup.sh,tomcat启动脚本startup.sh分析
一.分析说明 为了写出更加完善的tomcat启动方面的自动化脚本,健壮自己用于代码上线自动化部署的脚本,特分析下tomcat的bin目录下的starup.sh脚本,学习标准的sh脚本的编写方法,从中吸 ...
- linux startup.sh文件所在目录,Tomcat启动脚本startup.sh分析
一.分析说明 为了写出更加完善的tomcat启动方面的自动化脚本,健壮自己用于代码上线自动化部署的脚本,特分析下tomcat的bin目录下的starup.sh脚本,学习标准的sh脚本的编写方法,从中吸 ...
- php和nginx安装脚本,Nginx + PHP 配置和启动脚本
Nginx + PHP 配置和启动脚本,很实用 # nginx.conf server { listen 8080 ; server_name localhost; location / { root ...
- Ubuntu服务启动脚本
1.服务启动脚本 #!/bin/sh# Licensed to the Apache Software Foundation (ASF) under one or more # contributor ...
- tomcat启动:startup.sh、catalina.sh、setclasspath.sh三者关系
1.概述 JavaWeb项目发布tomcat容器,我们一般是到tomcat下的bin/startup.sh直接运行.很少去了解tomcat底层启动细节. 后来实际开发中,需要在tomcat中显式配置- ...
- springboot默认日志配置及程序启动脚本
前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式以及输出方式如何配置? 代码中如何使用? 正文 Sp ...
- JAVA项目启动脚本编写的一些笔记整理
写在前面 公司项目里看到,之前的项目都是在物理机部署的,而且大都是Server,没搞过,这里整齐学习. 博文分为两部分: 项目启动脚本总结,java常用启动参数,,启动参数部分参考 流年似水,有些事情 ...
- springboot项目jar包启动脚本
当工具用习惯了.也就懒的去关心底层的东西了.项目部署的时候,用习惯了jenkins也就不关心运维写的脚本了.但是当工具出问题,那就要从最基础的脚本来部署项目.脚本我也不太懂,在这里只是与大家一起分享启 ...
最新文章
- 国贫县山西永和:“一揽子”保险“保”脱贫
- 网络标准和OSI模型(1)
- Openstack_单元测试工具 tox
- 苹果手机web开发踩坑记
- 零样本性能超越GPT-3!谷歌提出1370亿参数自回归语言模型
- boost::describe模块和boost::json混合编程的测试程序
- 渲染优化 lock unlock
- jconsole命令(Java Monitoring and Management Console)
- html lt p gt 标签的属性,科技常识:html中amp;lt;tableamp;gt;标签的各种属性介绍_table的使用...
- vuex mysql_Vue插件---Vuex(仓库,数据库)
- 从3年前接触区块链,到开发出装机量最大客户端Geth,看看人家的职业发展之路 | 人物志...
- SpringBoot项目瘦身指南,大厂如何面试看出你的水平
- Centos7下,LVM根分区扩容
- java map扩容机制_java中ConcurrentHashMap的扩容机制问题
- python输出字符串拼接数字_python实现字符串和数字拼接
- C#中奇怪的Queue T 行为!
- php 判断是否在线,关于判断用户是否在线的问题!!!
- DVR硬盘录像机技术
- linux cpu使用率500%,Linux:CPU使用率100%排查方法
- SaaS是什么?是订阅吗?还是web应用?