kali php 装mongodb,Mongodb 安装脚本(附服务器自启动)

一、目的

为简化Mongodb快速安装部署,适用于centos6/7.x,并含添加至服务启动项,开机自启动。

二、脚本

2.1 github地址

github链接

2.2 脚本内容

#!/bin/bash

#mail:xuel@anchnet.com

#function:auto install mongodb

[ $(id -u) != "0" ] && echo "Error: You must be root to run this script" && exit 1

logfile="/var/log/mongod_install.log"

softdir="/software"

installdir="/usr/local"

sys_version=$(rpm -q centos-release|cut -d- -f3)

clear

echo "##########################################"

echo "# Auto Install mongodb for centos6/7.x ##"

echo "# Press Ctrl + C to cancel ##"

echo "# Any key to continue ##"

echo "##########################################"

echo "(1) Install Mongodb-3.2"

echo "(2) Install Mongodb-3.4"

echo "(3) Install Mongodb-3.6"

echo "(4) EXIT"

read -p "Please input your choice:" NUM

if [ ${sys_version} == "6" ];then

case $NUM in

1)

mongodb_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.20.tgz"

software_version="mongodb-3.2"

;;

2)

mongodb_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.10.tgz"

software_version="mongodb-3.4"

;;

3)

mongodb_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.6.5.tgz"

software_version="mongodb-3.6"

;;

4)

echo -e "\033[41;37m You choice channel! \033[0m" && exit 0

;;

*)

echo -e "\033[41;37m Input Error! Place input{1|2|3|4} \033[0m" && exit 1

;;

esac

elif [ ${sys_version} == "7" ];then

case $NUM in

1)

mongodb_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.20.tgz"

software_version="mongodb-3.2"

;;

2)

mongodb_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.10.tgz"

software_version="mongodb-3.4"

;;

3)

mongodb_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.5.tgz"

software_version="mongodb-3.6"

;;

4)

echo -e "\033[41;37m You choice channel! \033[0m" && exit 0

;;

*)

echo -e "\033[41;37m Input Error! Place input{1|2|3|4} \033[0m" && exit 1

;;

esac

else

echo "system must user centos6/7.x." >>${logfile} 2>&1

fi

sys_init() {

clear

echo -e "\033[42;5m initialization system... \033[0m"

sleep 2

sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

if [ ${sys_version} == "6" ];then

/etc/init.d/iptables status >/dev/null

[ $? -eq 0 ] && iptables -I INPUT -p tcp --dport 27017 -j ACCEPT

[ $? -eq 0 ] && /etc/init.d/iptables save >${logfile} 2>&1

elif [ ${sys_version} == "7" ];then

systemctl stop firewalld && systemctl disable firewalld

else

echo "system must user centos6/7.x." >>${logfile} 2>&1

fi

yum -y install wget >/dev/null

setenforce 0

echo "sys_init complate!">> ${logfile}

}

download_software() {

clear

echo -e "\033[42;5m download software... \033[0m"

sleep 2

if [ ! -d ${softdir} ];then

mkdir ${softdir} && cd ${softdir}

else

cd ${softdir}

fi

for software_url in ${mongodb_url}

do

wget -c ${software_url} --tries=5

if [ $? -eq 0 ];then

for software in `ls`

do

tar zxf $software -C $installdir

done

else

echo "download software error!" >> ${logfile} 2>&1 && exit 1

fi

done

echo "download_software" >>${logfile}

}

install_software() {

clear

echo -e "\033[42;5m install server... \033[0m"

sleep 2

mongodbdir=$(ls ${installdir}|grep "mongodb-linux-x86_64")

ln -s ${installdir}/${mongodbdir} ${installdir}/mongodb

mkdir ${installdir}/mongodb/{conf,mongoData,mongoLog}

touch ${installdir}/mongodb/mongoLog/mongodb.log

echo "export PATH=\$PATH:${installdir}/mongodb/bin">/etc/profile.d/mongodb.sh

source /etc/profile.d/mongodb.sh

cat >${installdir}/mongodb/conf/mongodb.conf <

dbpath=${installdir}/mongodb/mongoData

logpath=${installdir}/mongodb/mongoLog/mongodb.log

logappend=true

journal=true

quiet=true

port=27017

pidfilepath=/var/run/mongod.pid

#replSet =RS

maxConns=20000

#httpinterface=true

fork=true

#auth=true

EOF

echo "install_software complate!" >>${logfile}

}

start_server() {

clear

echo -e "\033[42;5m configuration server... \033[0m"

if [ ${sys_version} == "6" ];then

cat >/etc/init.d/mongodb-server<

#!/bin/bash

#auth:kaliarch

# mongodb Startup script for mongodb processes

#

# chkconfig: - 90 10

# description: Mongodb provides fast memory based storage.

# processname: Mongodb

. /etc/rc.d/init.d/functions

bash_dir="/usr/local/mongodb"

mongod="\${bash_dir}/bin/mongod"

config="\${bash_dir}/conf/mongodb.conf"

getpid=\$(pidof mongod)

lockfile="\${bash_dir}/mongodb.lock"

pidfile="/var/run/mongod.pid"

#user=nobody

start() {

action $"Starting \$prog: " /bin/true

# Starting mongodb on port 27017 as deamon and user nobody

\$mongod -f \${config} >/dev/null

RETVAL=$?

[ \$RETVAL = 0 ] && touch \${lockfile}

return \$RETVAL

}

stop() {

if test "x\${getpid}" != x; then

action $"Stopping \$prog " /bin/true

killall mongod

fi

RETVAL=\$?

[ \$RETVAL = 0 ] && rm -rf \${lockfile} \${pidfile}

return \$RETVAL

}

case "\$1" in

start)

start

;;

stop)

stop

;;

status)

status -p \${pidfile} \${mongod}

RETVAL=\$?

;;

restart)

stop

start

;;

*)

echo $"Usage: \$0 {start|status|stop|restart}"

exit 1

esac

exit \${RETVAL}

EOF

cd /

chmod +x /etc/init.d/mongodb-server

chkconfig mongodb-server on

service mongodb-server start

elif [ ${sys_version} == "7" ];then

cat >/usr/lib/systemd/system/mongod.service<

[Unit]

Description=The Mongodb Server

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf

ExecStop=/usr/local/mongodb/bin/mongod --shutdown --dbpath /usr/local/mongodb/mongoData

[Install]

WantedBy=multi-user.target

EOF

systemctl start mongod

systemctl enable mongod >>${logfile} 2>&1

else

echo "install occer error,please see ${logfile}" && exit 1

fi

}

check_server() {

clear

echo -e "\033[42;5m check server status... \033[0m"

server_port=$(netstat -lntup|grep mongod|wc -l)

server_proc=$(ps -ef |grep mongodb.conf|grep -v grep|wc -l)

if [ ${server_port} -gt 0 -a ${server_port} -gt 0 ];then

echo -e "\033[42;37m mongodb-server install successful! \033[0m"

echo -e "\033[42;37m version:${software_version} \033[0m"

echo -e "\033[42;37m bashpath:${installdir}/mongodb \033[0m"

else

echo "install occer error,please see ${logfile}" && exit 1

fi

}

main() {

sys_init

download_software

install_software

start_server

check_server

}

main

三、测试

d7be2c703d8f5a46d01a2af01192baca.png

d5ac39d88940eb262f9eefbbf8ccf7e7.png

84b5c662314d3ba23c2234aa23b1f57f.png

d1c61f6849d04c12b257038033a1fa60.png

7bfa4ad3032fb964235d050d1c736dbb.png

ea6cfff24a685102097403b693896330.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值