开始用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. jQuery制作Web全屏效果

    需要的资源 1.jQuery版本库是必不可少的2.jQuery FullScreen plugin如果你下载不方便的话,你可以直接把下面的代码copy到你本地JQuery FullScreen plu ...

  2. backbone case

    http://coenraets.org/blog/2012/03/employee-directory-sample-app-with-backbone-js-and-jquery-mobile/ ...

  3. Hibernate save或者persist 后获取主键ID

    一个自增长ID的对象被save或者persist后,会返回其主键ID: Department department = new Department(); department.setName(&qu ...

  4. Android njava.net.UnknownHostException: Unable to resolve host

    我在android开发的时候经常会遇到这个错误,一般来说,造成这种错误的最普遍情况有两种:  1.android设备网络连接没打开,例如3G网络和WIFI网络 所以,如果遇到这种错误时,请先查看网络是 ...

  5. Android 使用XmlPullParser解析xml

    这里我们假设要解析的xml文件名为:test.xml,我们将其放在assets路径中. xml文件内容为: <?xml version='1.0' encoding='utf-8' standa ...

  6. 【Uvalive 5834】 Genghis Khan the Conqueror (生成树,最优替代边)

    [题意] 一个N个点的无向图,先生成一棵最小生成树,然后给你Q次询问,每次询问都是x,y,z的形式, 表示的意思是在原图中将x,y之间的边增大(一定是变大的)到z时,此时最小生成数的值是多少.最后求Q ...

  7. SPRING IN ACTION 第4版笔记-第二章-001-用@Autowired\@ComponentScan、@Configuration、@Component实现自动装载bean

    1. package soundsystem; import org.springframework.context.annotation.ComponentScan; import org.spri ...

  8. insert into select * from 锁表

    mysql[192.168.11.187] processid[249] root@localhost in db[zjzc] hold transaction time 197 112069858, ...

  9. git撤销提交到remote的commit

    Reseting remote to a certain commit Assuming that your branch is called master both here and remotel ...

  10. XUTils框架的学习(三)

    前面两章说了xutils框架的引入和注解模块的使用和数据库模块的使用,想了解的朋友可以去看看. 前面在说数据库模块的操作的时候是手动创建数据库并保存在asset文件夹里面,再通过I/O将数据库写进应用 ...