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 ...
随机推荐
- 排名第一、第二的OCR软件
排名第一.第二的OCR软件 第一:ABBYY FineReader OCR世界排名第一,在俄罗斯获国际科技大奖奖超过卡巴斯基! 不仅仅只是文字识别,还能表格识别,版面还原,字体识别,文档结构 ...
- nutch 索引
nutch开发环境搭建 nutch-1.3导入eclipse nutch-1.7导入eclipse nutch部署 nutch-1.3linux下部署 nutch-1. ...
- Python的startswith和endswith
做文本处理的时候经常要判断一个文本有没有以一个子串开始,或者结束.Python为此提供了两个函数: S.startswith(prefix[, start[, end]]) -> bool 如果 ...
- 【原创】Matlab中plot函数全功能解析
[原创]Matlab中plot函数全功能解析 该帖由Matlab技术论(http://www.matlabsky.com)坛原创,更多精彩内容参见http://www.matlabsky.com 功能 ...
- hdu 2767
这也是道强连通分量的题: 题目要求我们求出最少需要添加多少条边让整个图变成一个强连通分量: 思路很简单,直接缩点,然后找出所有点中有多少出度为0,入度为0的点,最大的那个就是题目所求: 贴代码: #i ...
- C语言中返回字符串函数的四种实现方法
转自C语言中返回字符串函数的四种实现方法 其实就是要返回一个有效的指针,尾部变量退出后就无效了. 有四种方式: 1.使用堆空间,返回申请的堆地址,注意释放 2.函数参数传递指针,返回该指针 3.返回函 ...
- PHP 文件上传注意一个地方,移动文件时要保证目标目录存在,否则报错
move_uploaded_file ( $_FILES ["file"] ["tmp_name"], "upload/" . $fileN ...
- (转)未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService~~导出!解决方案。
今天刚到公司,打开VS2012准备些个小程序练练手,结果打开C#控制台程序创建时弹出个出错警告,于是呼赶紧跑到百度娘那里问问. 百度一番之后,找到了两篇文章: vs2012建立c++项目为啥会这样? ...
- 详解如何用AD 生成Gerber文件
以上gerber文件就出完了; 下面步骤是:进行导出" 钻孔文件 ". 以上钻孔文件就出完了; 到此就全部完成输出了. 下面的操作,也可以不用导的 .下面步骤是:进行导出&qu ...
- Jquery 获取表单值如input,select等方法
1 if($("input[name=item][value='val']").attr('checked')==true) //判断是否已经打勾 name即控件name属性,va ...