Created
December 4, 2011 10:36
-
-
Save rubyonrailsworks/1429847 to your computer and use it in GitHub Desktop.
Sysv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# chkconfig: 2345 93 18 | |
# Edit by Sky | |
# description:MongoDB(MongoDB-1.8.1) | |
#mongodb 家目录 | |
MONGODB_HOME=/data1/PRG/mongodb | |
#mongodb 启动命令 | |
MONGODB_BIN=$MONGODB_HOME/bin/mongod | |
#mongodb 监听端口 | |
MONGODB_PORT="5506" | |
#mongodb 日志文件 | |
MONGODB_LOGPATH=$MONGODB_HOME/log/mogodb.log | |
#mongodb 日志级别 -v -vv -vvv -vvvv -vvvvv | |
MONGODB_LOG_LEVEL="-vvvvv" | |
#mongodb 日志追加模式 不启用则该参数为空 | |
MONGODB_LOGAPPAND="--logappend" | |
#mongodb 守护进程模式运行 同时要设置logpath 不启用则该参数为空 | |
MONGODB_DEAMON="--fork" | |
#mongodb PID文件 | |
MONGODB_PID=$MONGODB_HOME/log/mogodb.pid | |
#mongodb 数据文件 | |
MONGODB_DBPATH=$MONGODB_HOME/data | |
#mongodb maxConns | |
MONGODB_maxConns="2000" | |
#mongodb 连接登录限制 不启用则该参数为空 | |
MONGODB_AUTH="--auth" | |
#MONGODB_AUTH="" | |
#mongodb 定期显示cpu的利用率和iowait 不启用则该参数为空 | |
MONGODB_CPU="--cpu" | |
#mongodb 数据同步到disk的时间间隔 默认为60 | |
MONGODB_SYNCDELAY="60" | |
#mongodb 角色 single-单机 || sets Replica set集群模式 || master ms模式 || slaver ms 模式 | |
MONGODB_ROLE="single" | |
#mongodb 其它配置参数按需增加 | |
MONGODB_OTHER_PARM="--directoryperdb" | |
#sets/ms oplogSize 配置 为了能使从库能支持超2小时的停机时间大少应设置为>=6G | |
MONGODB_oplogSize="6144" | |
#----------------Replica set | |
#sets 角色的时候设置 | |
MONGODB_replSet="online" | |
#sets 额外配置 | |
SETS_OTHER_PARA="--rest" | |
#-------------------------- | |
#----------------Master - Slaver | |
#本机所属的角色 master slave 该属性暂不使用 | |
MONGODB_MS_ROLE="slave" | |
#中间为M代表为应用到Master的配置 S代表slave的配置 | |
MONGODB_M_oplogSize=$MONGODB_oplogSize | |
#指定Master机器地址和端口 | |
MONGODB_S_SOURCE="127.0.0.1:5506" | |
#指定同步数据的时间间隔 | |
MONGODB_S_slavedelay="3" | |
#Slave的额外配置 例如--only online 无则为空 | |
MONGODB_S_PARM="" | |
#------------------------------ | |
#打开文件数 | |
SYSTEM_MAXFD=65535 | |
#mongodb 用户 | |
MONGODB_USER="mongodb" | |
#mongodb 用户组 | |
MONGODB_GROUP="mongodb" | |
#mongodb 名字 | |
MONGODB_NAME="mongodb" | |
. /etc/rc.d/init.d/functions | |
if [ ! -f $VARNISH_SBIN ] | |
then | |
echo "$MONGODB_NAME startup: $MONGODB_BIN not exists! " | |
exit | |
fi | |
start() { | |
ulimit -HSn $SYSTEM_MAXFD | |
ret=1 | |
if [[ "$MONGODB_ROLE" == "single" ]] ; then | |
su $MONGODB_USER -c "$MONGODB_BIN $MONGODB_DEAMON --port $MONGODB_PORT --logpath $MONGODB_LOGPATH $MONGODB_LOG_LEVEL $MONGODB_LOGAPPAND --pidfilepath $MONGODB_PID --dbpath $MONGODB_DBPATH --maxConns $MONGODB_maxConns $MONGODB_AUTH $MONGODB_CPU --syncdelay $MONGODB_SYNCDELAY $MONGODB_OTHER_PARM > /dev/null 2>&1 " | |
ret=$? | |
elif [[ "$MONGODB_ROLE" == "sets" ]] ; then | |
echo "Replica set Starting" | |
su $MONGODB_USER -c "$MONGODB_BIN --replSet $MONGODB_replSet $MONGODB_DEAMON --port $MONGODB_PORT --logpath $MONGODB_LOGPATH $MONGODB_LOG_LEVEL $MONGODB_LOGAPPAND --pidfilepath $MONGODB_PID --dbpath $MONGODB_DBPATH --maxConns $MONGODB_maxConns $MONGODB_AUTH $MONGODB_CPU --syncdelay $MONGODB_SYNCDELAY --oplogSize $MONGODB_oplogSize $MONGODB_OTHER_PARM $SETS_OTHER_PARA > /dev/null 2>&1 " | |
ret=$? | |
elif [[ "$MONGODB_ROLE" == "master" ]] ; then | |
echo "Masteri Starting" | |
su $MONGODB_USER -c "$MONGODB_BIN $MONGODB_DEAMON --port $MONGODB_PORT --master --logpath $MONGODB_LOGPATH $MONGODB_LOG_LEVEL $MONGODB_LOGAPPAND --pidfilepath $MONGODB_PID --dbpath $MONGODB_DBPATH --maxConns $MONGODB_maxConns $MONGODB_AUTH $MONGODB_CPU --syncdelay $MONGODB_SYNCDELAY --oplogSize $MONGODB_M_oplogSize $MONGODB_OTHER_PARM > /dev/null 2>&1" | |
ret=$? | |
elif [[ "$MONGODB_ROLE" == "slave" ]] ; then | |
su $MONGODB_USER -c "$MONGODB_BIN $MONGODB_DEAMON --port $MONGODB_PORT --slave --source $MONGODB_S_SOURCE --slavedelay $MONGODB_S_slavedelay --logpath $MONGODB_LOGPATH $MONGODB_LOG_LEVEL $MONGODB_LOGAPPAND --pidfilepath $MONGODB_PID --dbpath $MONGODB_DBPATH --maxConns $MONGODB_maxConns $MONGODB_AUTH $MONGODB_CPU --syncdelay $MONGODB_SYNCDELAY $MONGODB_S_PARM $MONGODB_OTHER_PARM > /dev/null 2>&1" | |
ret=$? | |
else | |
echo "Mongodb role Wrong" | |
fi | |
if [ $ret -eq 0 ]; then | |
action $"Starting $MONGODB_NAME: " /bin/true | |
else | |
action $"Starting $MONGODB_NAME: " /bin/false | |
fi | |
} | |
stop() { | |
kill -2 `cat $MONGODB_PID` | |
ret=$? | |
if [ $ret -eq 0 ]; then | |
action $"Stopping $MONGODB_NAME: " /bin/true | |
else | |
action $"Stopping $MONGODB_NAME: " /bin/false | |
fi | |
} | |
restart() { | |
stop | |
start | |
} | |
init() { | |
echo "MongoDB init ......" | |
LOGPATH_DIR=$(dirname $MONGODB_LOGPATH) | |
if [[ -e $LOGPATH_DIR ]] ; then | |
echo "$MONGODB_LOGPATH 中 $LOGPATH_DIR 已存在,跳过" | |
else | |
echo "创建 $MONGODB_LOGPATH 中的 $LOGPATH_DIR" | |
mkdir -p $LOGPATH_DIR | |
/bin/chown -R $MONGODB_USER:$MONGODB_GROUP $LOGPATH_DIR | |
fi | |
PID_DIR=$(dirname $MONGODB_PID) | |
if [[ -e $PID_DIR ]] ; then | |
echo "$MONGODB_PID 中 $PID_DIR 已存在,跳过" | |
else | |
echo "创建 $MONGODB_PID 中 $PID_DIR" | |
mkdir -p $PID_DIR | |
/bin/chown -R $MONGODB_USER:$MONGODB_GROUP $PID_DIR | |
fi | |
if [[ -e $MONGODB_DBPATH ]] ; then | |
echo "$MONGODB_DBPATH 已存在,跳过" | |
else | |
echo "是否自动创建$MONGODB_DBPATH(y|n)" | |
read answer | |
if [[ $answer == "y" ]] ; then | |
mkdir -p $MONGODB_DBPATH | |
/bin/chown -R $MONGODB_USER:$MONGODB_GROUP $MONGODB_DBPATH | |
fi | |
fi | |
echo "MongoDB init finished" | |
} | |
case "$1" in | |
start) | |
start | |
;; | |
stop) | |
stop | |
;; | |
init) | |
init | |
;; | |
*) | |
echo $"Usage: $0 {start|stop|init}" | |
exit 1 | |
esac |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#注意nignx路径 | |
#可能会提示nsserv: warning: script 'nginx' missing LSB tags and overrides | |
#解决方法: | |
#编辑/etc/init.d/vzquota | |
#在start(){ 前面添加如下内容: | |
### BEGIN INIT INFO | |
# Provides: OSSEC HIDS | |
# Required-Start: $network $remote_fs $syslog $time | |
# Required-Stop: | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: OSSEC HIDS | |
### END INIT INFO | |
#错误信息:can’t open /etc/rd.d/init.d/functions | |
#解决:mkdir /etc/rc.d/init.d/ | |
#ln –s /lib/lsb/init-functions /etc/rc.d/init.d/functions | |
#第一步,先运行命令关闭nginx: sudo kill `cat /opt/nginx/logs/nginx.pid` | |
#第二步 vi /etc/init.d/nginx | |
#第三步 chmod +x /etc/init.d/nginx | |
#第四步 /sbin/chkconfig nginx on | |
#检查一下sudo /sbin/chkconfig --list nginx | |
#!/bin/sh | |
# | |
# nginx - this script starts and stops the nginx daemin | |
# | |
# chkconfig: - 85 15 | |
# | |
# | |
# processname: nginx | |
# config: /opt/nginx/conf/nginx.conf | |
# pidfile: /opt/nginx/logs/nginx.pid | |
# Source function library. | |
. /etc/rc.d/init.d/functions | |
# Source networking configuration. | |
. /etc/sysconfig/network | |
# Check that networking is up. | |
[ "$NETWORKING" = "no" ] && exit 0 | |
nginx="/opt/nginx/sbin/nginx" | |
prog=$(basename $nginx) | |
NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf" | |
lockfile=/var/lock/subsys/nginx | |
start() { | |
[ -x $nginx ] || exit 5 | |
[ -f $NGINX_CONF_FILE ] || exit 6 | |
echo -n $"Starting $prog: " | |
daemon $nginx -c $NGINX_CONF_FILE | |
retval=$? | |
echo | |
[ $retval -eq 0 ] && touch $lockfile | |
return $retval | |
} | |
stop() { | |
echo -n $"Stopping $prog: " | |
killproc $prog -QUIT | |
retval=$? | |
echo | |
[ $retval -eq 0 ] && rm -f $lockfile | |
return $retval | |
} | |
restart() { | |
configtest || return $? | |
stop | |
start | |
} | |
reload() { | |
configtest || return $? | |
echo -n $"Reloading $prog: " | |
killproc $nginx -HUP | |
RETVAL=$? | |
echo | |
} | |
force_reload() { | |
restart | |
} | |
configtest() { | |
$nginx -t -c $NGINX_CONF_FILE | |
} | |
rh_status() { | |
status $prog | |
} | |
rh_status_q() { | |
rh_status >/dev/null 2>&1 | |
} | |
case "$1" in | |
start) | |
rh_status_q && exit 0 | |
$1 | |
;; | |
stop) | |
rh_status_q || exit 0 | |
$1 | |
;; | |
restart|configtest) | |
$1 | |
;; | |
reload) | |
rh_status_q || exit 7 | |
$1 | |
;; | |
force-reload) | |
force_reload | |
;; | |
status) | |
rh_status | |
;; | |
condrestart|try-restart) | |
rh_status_q || exit 0 | |
;; | |
*) | |
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" | |
exit 2 | |
esac |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment