开始用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= 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=
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=
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
done
return
}
echo_success() {
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
echo -n "[ "
[ "$BOOTUP" = "color" ] && $SETCOLOR_SUCCESS
echo -n $"OK"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo -n " ]"
echo -ne "\r"
if [ "$BOOTUP" = "graphical" -a -x /usr/bin/rhgb-client ]; then
/usr/bin/rhgb-client -ping
fi
return
} echo_failure() {
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
echo -n "["
[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
echo -n $"FAILED"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo -n "]"
echo -ne "\r"
if [ "$BOOTUP" = "graphical" -a -x /usr/bin/rhgb-client ]; then
/usr/bin/rhgb-client -ping
fi
return
}
echo_running() {
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
echo -n "["
[ "$BOOTUP" = "color" ] && $SETCOLOR_SUCCESS
echo -n $"Running"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo -n "]"
echo -ne "\r"
if [ "$BOOTUP" = "graphical" -a -x /usr/bin/rhgb-client ]; then
/usr/bin/rhgb-client -ping
fi
return
} echo_stop() {
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
echo -n "["
[ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
echo -n $"Stopped"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo -n "]"
echo -ne "\r"
if [ "$BOOTUP" = "graphical" -a -x /usr/bin/rhgb-client ]; then
/usr/bin/rhgb-client -ping
fi
return
} echo_warning() {
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
echo -n "["
[ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
echo -n $"WARNING"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo -n "]"
echo -ne "\r"
if [ "$BOOTUP" = "graphical" -a -x /usr/bin/rhgb-client ]; then
/usr/bin/rhgb-client -ping
fi
return
} 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 ; } 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
fi
fi
echo -e "Starting app ...... \c"
$APP --dbpath $DBDIR --logpath $LOGPATH --logappend >/dev/null >& &
#echo $!
echo $! > $app_pid_file
sleep ppid=$!
psreault=`ps aux|grep $ppid|grep -v grep|grep $prog`
if [ "$psreault"x != ""x ]; then
echo_success
echo
exit
fi
echo_failure
echo
exit } 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
fi
fi
echo_stop
echo
} case "$1" in
start)
start_app ;
exit
;; stop)
stop_app ;
exit
;;
restart)
stop_app;
sleep
start_app ;
exit
;;
status)
show_status;
exit
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit
;; esac export LD_LIBRARY_PATH=$OLD_LD_LIBRARY_PATH

mongnodb 启动脚本的更多相关文章

  1. logstash服务启动脚本

    logstash服务启动脚本 最近在弄ELK,发现logstash没有sysv类型的服务启动脚本,于是按照网上一个老外提供的模板自己进行修改 #添加用户 useradd logstash -M -s ...

  2. 改进uwsgi启动脚本,使其支持多个独立配置文件

    最近在研究flask,在架设运行环境的时候犯了难.因为我想把每个独立的应用像NGINX处理多个网站那样,每个应用单独一个配置文件.而网上流传的uwsgi启动脚本都只支持单个配置文件.虽然有文章说可以把 ...

  3. linux nginx 启动脚本

    linux nginx 启动脚本 [root@webtest76 ~]# vi /etc/init.d/nginx #!/bin/bash # nginx Startup script for the ...

  4. busybox rootfs 启动脚本分析(二)

    上次分析了busybox的启动脚本,这次分析一下init.d中一些脚本的内容. 参考链接 http://www.cnblogs.com/helloworldtoyou/p/6169678.html h ...

  5. Tomcat启动脚本

    记录一个比较好的tomcat启动脚本,截取<OneinStack>,修改如下两个参数即可用. 使用之前修改下面2个参数: #Location of JAVA_HOME (bin files ...

  6. Linux Runlevel 启动 脚本

    Linux 操作系统自从开始启动至启动完毕需要经历几个不同的阶段,这几个阶段就叫做 Runlevel,同样,当Linux操作系统关闭时也要经历另外几个不同的 Runlevel,下面详细介绍一下 Run ...

  7. [Tomcat 源码分析系列] (二) : Tomcat 启动脚本-catalina.bat

    概述 Tomcat 的三个最重要的启动脚本: startup.bat catalina.bat setclasspath.bat 上一篇咱们分析了 startup.bat 脚本 这一篇咱们来分析 ca ...

  8. [Tomcat 源码分析系列] (一) : Tomcat 启动脚本-startup.bat

    概述 我们通常使用 Tomcat 中的 startup.bat 来启动 Tomcat. 但是这其中干了一些什么事呢? 大家都知道一个 Java 程序需要启动的话, 肯定需要 main 方法, 那么这个 ...

  9. 关于Ubuntu运行级别、开机启动脚本的说明

    关于Ubuntu运行级别.开机启动脚本的说明 目录简介 1.1介绍Ubuntu下面的自启动脚本目录 1.2 Linux操作系统运行级别的概念 1.3关于操作系统自启脚本的启动顺序 1.4    Lin ...

随机推荐

  1. python学习之--内置函数:

    Python内置函数: Python内置了很多有用的函数,我们可以直接调用.要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数. 1. 内置函数调用之--abs()函数: ...

  2. [BZOJ 2738] 矩阵乘法 【分块】

    题目链接:BZOJ - 2738 题目分析 题目名称 “矩阵乘法” 与题目内容没有任何关系..就像VFK的 A+B Problem 一样.. 题目大意是给定一个矩阵,有许多询问,每次询问一个子矩阵中的 ...

  3. js中实现页面跳转

    1.在本页中跳转到指定页面 1.window.location.href方式    <script language="javascript" type="text ...

  4. 【Uvalive 2531】 The K-League (最大流-类似公平分配问题)

    [题意] 有n个队伍进行比赛,每场比赛,恰好有一支队伍取胜.一支队伍败.每个队伍需要打的比赛场数相同,给你每个队伍目前已经赢得场数和输得场数,再给你一个矩阵,第 i 行第 j 列 表示队伍 i 和队伍 ...

  5. c#中总是提示“在代码运行时或者在禁用“只要一个进程中断,就中断所有进程”选项时,不允许进行更改。

    但是根据它提示的修改方法,还是提示这个. “此选项可在“工具”->“选项”->“调试”中启用.” 根本不起作用,后来试着,要这样操作: 工具->选项->调试->编辑并继续 ...

  6. Android软件开发之获取通讯录联系人信息

    Android手机的通讯录联系人全部都存在系统的数据库中,如果须要获得通讯里联系人的信息就须要访问系统的数据库,才能将信息拿出来. 这一篇文章我主要带领同学们熟悉Android的通讯录机制. 图中选中 ...

  7. ASP.NET MVC4 UEditor 的上传图片配置路径

    ASP.NET MV4下,使用UEditor1.4.3最新版本,网址就不说了,去百度官网下载即可,关于在Controler下如何配置,直接上图: 然后再Views下面来个页面引用如下:     < ...

  8. 【HDOJ】4183 Pahom on Water

    就是一个网络流.red结点容量为2,查看最大流量是否大于等于2.对于条件2,把边反向加入建图.条件1,边正向加入建图. /* 4183 */ #include <iostream> #in ...

  9. JSONP跨域的原理解析(转)

    JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为"Same-Origin Policy"(同源策略). ...

  10. win7 下安装oracle 10g

    oracle 10g 在win7下安装,提示程序异常终止,发生未知错误 在网上搜结果: 修改Oracle 10G\database\stage\prereq\db\refhost.xml 在 < ...