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= 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 启动脚本的更多相关文章
- logstash服务启动脚本
logstash服务启动脚本 最近在弄ELK,发现logstash没有sysv类型的服务启动脚本,于是按照网上一个老外提供的模板自己进行修改 #添加用户 useradd logstash -M -s ...
- 改进uwsgi启动脚本,使其支持多个独立配置文件
最近在研究flask,在架设运行环境的时候犯了难.因为我想把每个独立的应用像NGINX处理多个网站那样,每个应用单独一个配置文件.而网上流传的uwsgi启动脚本都只支持单个配置文件.虽然有文章说可以把 ...
- linux nginx 启动脚本
linux nginx 启动脚本 [root@webtest76 ~]# vi /etc/init.d/nginx #!/bin/bash # nginx Startup script for the ...
- busybox rootfs 启动脚本分析(二)
上次分析了busybox的启动脚本,这次分析一下init.d中一些脚本的内容. 参考链接 http://www.cnblogs.com/helloworldtoyou/p/6169678.html h ...
- Tomcat启动脚本
记录一个比较好的tomcat启动脚本,截取<OneinStack>,修改如下两个参数即可用. 使用之前修改下面2个参数: #Location of JAVA_HOME (bin files ...
- Linux Runlevel 启动 脚本
Linux 操作系统自从开始启动至启动完毕需要经历几个不同的阶段,这几个阶段就叫做 Runlevel,同样,当Linux操作系统关闭时也要经历另外几个不同的 Runlevel,下面详细介绍一下 Run ...
- [Tomcat 源码分析系列] (二) : Tomcat 启动脚本-catalina.bat
概述 Tomcat 的三个最重要的启动脚本: startup.bat catalina.bat setclasspath.bat 上一篇咱们分析了 startup.bat 脚本 这一篇咱们来分析 ca ...
- [Tomcat 源码分析系列] (一) : Tomcat 启动脚本-startup.bat
概述 我们通常使用 Tomcat 中的 startup.bat 来启动 Tomcat. 但是这其中干了一些什么事呢? 大家都知道一个 Java 程序需要启动的话, 肯定需要 main 方法, 那么这个 ...
- 关于Ubuntu运行级别、开机启动脚本的说明
关于Ubuntu运行级别.开机启动脚本的说明 目录简介 1.1介绍Ubuntu下面的自启动脚本目录 1.2 Linux操作系统运行级别的概念 1.3关于操作系统自启脚本的启动顺序 1.4 Lin ...
随机推荐
- Sprint5
进展:今天开始进行了登录界面的编写及实现. 燃尽图: 工作照:
- DHTMLX 前端框架 建立你的一个应用程序教程(二)--设置布局
Layout控件的演示 Dhtmlx有很多的组建来组织网页的建设, 这篇主要介绍dhtmlxLayout . 下面图片中 布局将各个组件(1.Menu 2.Toolbar 3.Grid 4.Form ...
- c语言命名规则 [转载]
C语言变量名命名规则 一.程序风格: 1.严格采用阶梯层次组织程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行. 要求相匹配的 ...
- android 对象传输及parcel机制
在开发中不少要用到Activity直接传输对象,下面我们来看看,其实跟java里面差不多 自定义对象的传递:通过intent传递自定义对象的方法有两个 第一是实现Serialization接口: ...
- 监控持有sql和被堵塞的sql
Session 1: mysql> start transaction; Query OK, 0 rows affected (0.00 sec) mysql> update Client ...
- Asp.net--Ajax前后台数据交互
转自:http://www.cnblogs.com/guolebin7/archive/2011/02/22/1961737.html 代码由前后台两部分组成: 前台:(新建一个Default.asp ...
- Problem 2214 Knapsack problem 福建第六届省赛
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2214 题目大意:给你T组数据,每组有n个物品,一个背包容量B,每件有体积和价值.问你这个背包容纳的物品最大价值 ...
- 进程与线程(四) linux进程间通信的方式总结
1概述: 上文说到,每个进程都有自己的地址空间,包括什么呢?向下生长得栈,向上生长的堆,代码段,数据段等,这些都是进程私有的,如何实现通信的呢?通信需要媒介,这个媒介很重要. 对于研发人员来说,进程不 ...
- JavaScript高级程序设计45.pdf
客户区坐标位置 clientX和clientY保存着鼠标指针在视口中的水平位置坐标和垂直位置坐标(显示出页面的部分叫做客户区,坐标信息不包括页面的滚动距离) var div=document.getE ...
- linux 多线程基础1
一.什么是线程 在一个程序里的多个执行路线就叫做线程.更准确的定义是:线程是“一个进程内部的一个控制序列”. 典型的unix进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情. ...