• mongnodb 启动脚本


    开始用mongodb建立一套监控体系,安装解压即可。附上编写的mongodb启动管理脚本。

    建议 mkdir sbin 目录,放到sbin目录下。废话少说,代码如下:

    #!/bin/bash
    
    MONGODIR=$HOME/local/mongodb
    MONGOD=$MONGODIR/bin/mongod
    DBDIR=$MONGODIR/data/db
    LOGPATH=$MONGODIR/log/mongodb.log
    
    prog=$(basename $MONGOD)
    
    # Get a sane screen width
    [ -z "${COLUMNS:-}" ] && COLUMNS=80
    
    if [ -f /etc/sysconfig/i18n -a -z "${NOLOCALE:-}" ] ; then
      . /etc/sysconfig/i18n
      if [ "$CONSOLETYPE" != "pty" ]; then
        case "${LANG:-}" in
            ja_JP*|ko_KR*|zh_CN*|zh_TW*)
                export LC_MESSAGES=en_US
                ;;
            *)
                export LANG
                ;;
        esac
      else
        export LANG
      fi
    fi
    
    # Read in our configuration
    if [ -z "${BOOTUP:-}" ]; then
      if [ -f /etc/sysconfig/init ]; then
          . /etc/sysconfig/init
      else
        # This all seem confusing? Look in /etc/sysconfig/init,
        # or in /usr/doc/initscripts-*/sysconfig.txt
        BOOTUP=color
        RES_COL=60
        MOVE_TO_COL="echo -en \033[${RES_COL}G"
        SETCOLOR_SUCCESS="echo -en \033[1;32m"
        SETCOLOR_FAILURE="echo -en \033[1;31m"
        SETCOLOR_WARNING="echo -en \033[1;33m"
        SETCOLOR_NORMAL="echo -en \033[0;39m"
        LOGLEVEL=1
      fi
      if [ "$CONSOLETYPE" = "serial" ]; then
          BOOTUP=serial
          MOVE_TO_COL=
          SETCOLOR_SUCCESS=
          SETCOLOR_FAILURE=
          SETCOLOR_WARNING=
          SETCOLOR_NORMAL=
      fi
    fi
    
    if [ "${BOOTUP:-}" != "verbose" ]; then
       INITLOG_ARGS="-q"
    else
       INITLOG_ARGS=
    fi
    
    
    # Check if $pid (could be plural) are running
    checkpid() {
        local i
    
        for i in $* ; do
            [ -d "/proc/$i" ] || return 1
        done
        return 0
    }
    echo_success() {
      [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
      echo -n "[  "
      [ "$BOOTUP" = "color" ] && $SETCOLOR_SUCCESS
      echo -n $"OK"
      [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
      echo -n "  ]"
      echo -ne "
    "
      if [ "$BOOTUP" = "graphical" -a -x /usr/bin/rhgb-client ]; then
        /usr/bin/rhgb-client -ping
      fi
      return 0
    }
    
    echo_failure() {
      [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
      echo -n "["
      [ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
      echo -n $"FAILED"
      [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
      echo -n "]"
      echo -ne "
    "
      if [ "$BOOTUP" = "graphical" -a -x /usr/bin/rhgb-client ]; then
        /usr/bin/rhgb-client -ping
      fi
      return 1
    }
    echo_running() {
      [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
      echo -n "["
      [ "$BOOTUP" = "color" ] && $SETCOLOR_SUCCESS
      echo -n $"Running"
      [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
      echo -n "]"
      echo -ne "
    "
      if [ "$BOOTUP" = "graphical" -a -x /usr/bin/rhgb-client ]; then
        /usr/bin/rhgb-client -ping
      fi
      return 0
    }
    
    
    echo_stop() {
      [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
      echo -n "["
      [ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
      echo -n $"Stopped"
      [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
      echo -n "]"
      echo -ne "
    "
      if [ "$BOOTUP" = "graphical" -a -x /usr/bin/rhgb-client ]; then
        /usr/bin/rhgb-client -ping
      fi
      return 1
    }
    
    
    echo_warning() {
      [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
      echo -n "["
      [ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
      echo -n $"WARNING"
      [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
      echo -n "]"
      echo -ne "
    "
      if [ "$BOOTUP" = "graphical" -a -x /usr/bin/rhgb-client ]; then
        /usr/bin/rhgb-client -ping
      fi
      return 1
    }
    
    OLD_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=$(pwd)/lib
    
    unset APP
    if test -x $MONGOD
    then
        APP=$MONGOD
    fi
    
    test "$APP" || { echo $MONGOD" not exists or not executable"; echo_failure; echo;exit 0; } 
    
    app_pid_file=$MONGODIR/"$prog"_$(whoami).pid
    
    start_app()
    {
        if [ -e $app_pid_file ]; then
             ppid=$(cat $app_pid_file)
             psreault=`ps aux|grep $ppid|grep -v grep|grep $prog`
             if [ "$psreault"x !=  ""x ]; then
                echo -e "Warning: server is running, or you want restart?   c"
                echo_warning
                echo
                exit 1
            fi
        fi
        echo  -e "Starting app ......      c"
        $APP --dbpath $DBDIR --logpath $LOGPATH --logappend >/dev/null 2>&1 &
        #echo $!
        echo $! > $app_pid_file 
        sleep 1
    
        ppid=$!
        psreault=`ps aux|grep $ppid|grep -v grep|grep $prog`
        if [ "$psreault"x !=  ""x ]; then
            echo_success
            echo
            exit 1
        fi
        echo_failure
        echo
        exit 1
    
    }
    
    stop_app()
    {
        if [ -e $app_pid_file ]; then 
            echo  -e "Stopping service         c"
            ppid=$(cat $app_pid_file)
            psreault=`ps aux|grep $ppid|grep -v grep|grep $prog`
            if [ "$psreault"x !=  ""x ]; then
                kill  $ppid
            fi
        fi 
        rm -f $app_pid_file
        echo_success
        echo
    }
    show_status()
    {
        echo  -e "app status ......        c"
        if [ -e $app_pid_file ]; then
             ppid=$(cat $app_pid_file)
             psreault=`ps aux|grep $ppid|grep -v grep|grep $prog`
             if [ "$psreault"x !=  ""x ]; then
                echo_running
                echo
                exit 1
            fi
         fi    
        echo_stop
        echo
    }
    
    
    case "$1" in
        start)
            start_app ;
            exit 0
            ;;
    
        stop)
            stop_app ; 
            exit 0
            ;;
        restart)
            stop_app; 
            sleep 1
            start_app ;
            exit 0
            ;;
        status)
            show_status;
            exit 1
            ;;
         *)
           echo $"Usage: $0 {start|stop|restart|status}"
           exit 1
           ;;
    
    esac
    
    export LD_LIBRARY_PATH=$OLD_LD_LIBRARY_PATH
  • 相关阅读:
    黄聪:robots.txt一分钟教程
    黄聪:C#获取系统中的所有字体
    黄聪:C#下如何实现服务器+客户端的聊天程序
    黄聪:C#截取DOS命令输出流取得网卡MAC地址
    黄聪:选择适当的关键词
    黄聪:C#的Main(String[] args)参数输入问题
    黄聪:C#正则表达式整理备忘
    黄聪:【强烈推荐】搜索引擎排名决定一切吗!
    黄聪:第2章 并发操作的一致性问题 (2)
    黄聪:VS2008 "LIB 环境变量" 无效解决方案
  • 原文地址:https://www.cnblogs.com/zhanghairong/p/3664142.html
Copyright © 2020-2023  润新知