美文网首页
go-fastdfs 配置开机启动

go-fastdfs 配置开机启动

作者: 没米吃的耗子 | 来源:发表于2021-03-04 09:40 被阅读0次
1. 创建启动脚本
#!/bin/bash
WORKSPACE=$(cd $(dirname $0)/; pwd)
cd $WORKSPACE
mkdir -p log conf
module=
app=fileserver
conf=conf/cfg.json
pidfile=conf/fileserver.pid
logfile=log/fileserver.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
2.测试脚本
cd go-fastdfs
chmod +x control
./control start|stop|status #对和序进行启动,停止,查看状态等,注意事项:确保control与fileserver在同一个目录
  • 遇到问题并解决
[root@localhost go-fastdfs]# vi control
[root@localhost go-fastdfs]# ./control status
-bash: ./control: /bin/bash^M: 坏的解释器: 没有那个文件或目录
[root@localhost go-fastdfs]# sed -i 's/\r$//' control
[root@localhost go-fastdfs]# ./control status
fileserver is stoped
3.添加开机启动

在rc.local 添加以下命令
cd /home/go-fastdfs/ && ./control start

[root@localhost go-fastdfs]# vim /etc/rc.d/rc.local
image.png

给rc.local 添加执行权限

[root@localhost go-fastdfs]# chmod +x /etc/rc.d/rc.local

相关文章

网友评论

      本文标题:go-fastdfs 配置开机启动

      本文链接:https://www.haomeiwen.com/subject/wklqqltx.html