mirror of
https://gitee.com/sjqzhang/go-fastdfs.git
synced 2024-11-30 02:07:45 +08:00
109 lines
1.8 KiB
Bash
109 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
WORKSPACE=$(cd $(dirname $0)/; pwd)
|
|
cd $WORKSPACE
|
|
|
|
mkdir -p log conf
|
|
|
|
module=
|
|
app=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 start() {
|
|
check_pid
|
|
running=$?
|
|
if [ $running -gt 0 ];then
|
|
echo -n "$app now is running already, pid="
|
|
cat $pidfile
|
|
return 1
|
|
fi
|
|
|
|
nohup ./$app &> $logfile &
|
|
echo $! > $pidfile
|
|
echo "$app started..., pid=$!"
|
|
}
|
|
|
|
function stop() {
|
|
pid=`cat $pidfile`
|
|
kill $pid
|
|
echo "$app stoped..."
|
|
}
|
|
|
|
function restart() {
|
|
stop
|
|
sleep 1
|
|
start
|
|
}
|
|
|
|
function status() {
|
|
check_pid
|
|
running=$?
|
|
if [ $running -gt 0 ];then
|
|
echo -n "$app now is running, pid="
|
|
cat $pidfile
|
|
else
|
|
echo "$app is stoped"
|
|
fi
|
|
}
|
|
|
|
function tailf() {
|
|
tail -f $logfile
|
|
}
|
|
|
|
function build() {
|
|
go build
|
|
if [ $? -ne 0 ]; then
|
|
exit $?
|
|
fi
|
|
mv $module $app
|
|
./$app -v | grep -v "config"
|
|
}
|
|
|
|
function pack() {
|
|
build
|
|
git log -1 --pretty=%h > gitversion
|
|
version=`./$app -v|grep -v config`
|
|
file_list="control cfg.example.json $app"
|
|
tar zcf $app-$version.tar.gz gitversion $file_list
|
|
}
|
|
|
|
function packbin() {
|
|
build
|
|
git log -1 --pretty=%h > gitversion
|
|
version=`./$app -v|grep -v config`
|
|
tar zcvf $app-bin-$version.tar.gz $app gitversion
|
|
}
|
|
|
|
function help() {
|
|
echo "$0 start|stop|restart|status|tail"
|
|
}
|
|
|
|
if [ "$1" == "" ]; then
|
|
help
|
|
elif [ "$1" == "stop" ];then
|
|
stop
|
|
elif [ "$1" == "start" ];then
|
|
start
|
|
elif [ "$1" == "restart" ];then
|
|
restart
|
|
elif [ "$1" == "status" ];then
|
|
status
|
|
elif [ "$1" == "tail" ];then
|
|
tailf
|
|
else
|
|
help
|
|
fi
|