Ticket #9: mongodb.sh

File mongodb.sh, 3.3 KB (added by shirleen, 15 years ago)

Mongodb启动脚本

Line 
1#!/bin/sh
2# chkconfig: 2345 93 18
3# Edit by Sky
4# description:MongoDB(MongoDB-1.8.1)
5
6#mongodb ŒÒĿŒ
7MONGODB_HOME=/data/PRG/mongodb
8
9#mongodb Æô¶¯ÃüÁî
10MONGODB_BIN=$MONGODB_HOME/bin/mongod
11
12#mongodb ŒàÌý¶Ë¿Ú
13MONGODB_PORT="5506"
14
15#mongodb ÈÕÖŸÎÄŒþ
16MONGODB_LOGPATH=$MONGODB_HOME/log/mogodb.log
17
18#mongodb ÈÕÖŸŒ¶±ð -v -vv -vvv -vvvv -vvvvv
19MONGODB_LOG_LEVEL="-vvvvv"
20
21#mongodb ÈÕ֟׷ŒÓģʜ ²»ÆôÓÃÔòžÃ²ÎÊýΪ¿Õ
22MONGODB_LOGAPPAND="--logappend"
23
24#mongodb ÊØ»€œø³ÌģʜÔËÐРͬʱҪÉèÖÃlogpath ²»ÆôÓÃÔòžÃ²ÎÊýΪ¿Õ
25MONGODB_DEAMON="--fork"
26
27#mongodb PIDÎÄŒþ
28MONGODB_PID=$MONGODB_HOME/log/mogodb.pid
29
30#mongodb ÊýŸÝÎÄŒþ
31MONGODB_DBPATH=$MONGODB_HOME/data
32
33#mongodb maxConns
34MONGODB_maxConns="2000"
35
36#mongodb Á¬œÓµÇÂŒÏÞÖÆ ²»ÆôÓÃÔòžÃ²ÎÊýΪ¿Õ
37MONGODB_AUTH="--auth"
38#MONGODB_AUTH=""
39
40#mongodb ¶šÆÚÏÔÊŸcpuµÄÀûÓÃÂʺÍiowait ²»ÆôÓÃÔòžÃ²ÎÊýΪ¿Õ
41MONGODB_CPU="--cpu"
42
43#mongodb ÊýŸÝͬ²œµœdiskµÄʱŒäŒäžô ĬÈÏΪ60
44MONGODB_SYNCDELAY="60"
45
46#mongodb œÇÉ« single-µ¥»ú || sets Œ¯ÈºÄ£Êœ
47MONGODB_ROLE="single"
48
49#mongodb ÆäËüÅäÖòÎÊý°ŽÐèÔöŒÓ
50MONGODB_OTHER_PARM="--directoryperdb"
51
52#sets œÇÉ«µÄʱºòÉèÖÃ
53MONGODB_replSet="pconline"
54
55#sets ¶îÍâÅäÖÃ
56SETS_OTHER_PARA="--rset"
57
58
59#Žò¿ªÎÄŒþÊý
60SYSTEM_MAXFD=65535
61
62#mongodb Ãû×Ö
63MONGODB_NAME="mongodb"
64
65. /etc/rc.d/init.d/functions
66
67if [ ! -f $VARNISH_SBIN ]
68then
69        echo "$MONGODB_NAME startup: $MONGODB_BIN not exists! "
70        exit
71fi
72
73
74start() {
75        ulimit -HSn $SYSTEM_MAXFD
76   if [[ "$MONGODB_ROLE" == "single" ]] ; then
77        $MONGODB_BIN $MONGODB_DEAMON --port $MONGODB_PORT --logpath $MONGODB_LOGPATH $MONGODB_LOG_LEVEL $MONGODB_LOGAPPAND --pidfilepath $MONGODB_PID \
78                     --dbpath $MONGODB_DBPATH --maxConns $MONGODB_maxConns $MONGODB_AUTH $MONGODB_CPU --syncdelay $MONGODB_SYNCDELAY $MONGODB_OTHER_PARM > /dev/null 2>&1                 
79        ret=$?
80        if [ $ret -eq 0 ]; then
81                action $"Starting $MONGODB_NAME: " /bin/true
82        else
83                action $"Starting $MONGODB_NAME: " /bin/false
84        fi
85   else
86        echo "Replica set Starting"
87   fi
88}
89
90
91stop() {
92        kill -2 `cat $MONGODB_PID`
93        ret=$?
94        if [ $ret -eq 0 ]; then
95                action $"Stopping $MONGODB_NAME: " /bin/true
96        else
97                action $"Stopping $MONGODB_NAME: " /bin/false
98        fi
99}
100
101restart() {
102        stop
103        start
104}
105
106
107init() {
108    echo "MongoDB init ......"
109    LOGPATH_DIR=$(dirname $MONGODB_LOGPATH)
110    if [[ -e $LOGPATH_DIR ]] ; then
111         echo "$MONGODB_LOGPATH ÖÐ $LOGPATH_DIR ÒÑŽæÔÚ,Ìø¹ý"
112    else
113         echo "ŽŽœš $MONGODB_LOGPATH ÖÐµÄ $LOGPATH_DIR"
114         mkdir -p $LOGPATH_DIR
115    fi
116
117    PID_DIR=$(dirname $MONGODB_PID)
118    if [[ -e $PID_DIR ]] ; then
119         echo "$MONGODB_PID ÖÐ $PID_DIR ÒÑŽæÔÚ,Ìø¹ý"
120    else
121        echo "ŽŽœš $MONGODB_PID ÖÐ $PID_DIR"
122        mkdir -p $PID_DIR
123    fi
124   
125    if [[ -e $MONGODB_DBPATH ]] ; then
126        echo "$MONGODB_DBPATH ÒÑŽæÔÚ,Ìø¹ý"
127    else
128        echo "ÊÇ·ñ×Ô¶¯ŽŽœš$MONGODB_DBPATH(y|n)"
129        read answer
130        if [[ $answer == "y" ]] ; then
131            mkdir -p $MONGODB_DBPATH
132        fi
133    fi
134   
135    echo "MongoDB init finished"
136}
137
138case "$1" in
139        start)
140                start
141                ;;
142        stop)
143                stop
144                ;;
145        init)
146                init
147                ;;
148        *)
149                echo $"Usage: $0 {start|stop|init}"
150                exit 1
151esac
152