Mongodb 安裝指令碼(附伺服器自啟動)

來源:互聯網
上載者:User

標籤:mongodb   shell   

一、目的

為簡化Mongodb快速安裝部署,並添加至服務啟動項,開機自啟動。

二、指令碼

2.1 github地址

github連結
2.2 指令碼內容

#!/bin/bash#mail:[email protected]#function:auto install mongodb[ $(id -u) != "0" ] && echo "Error: You must be root to run this script" && exit 1[ $(rpm -q centos-release|cut -d- -f3) != "6" ] && echo "Please use centos6.x" && exit 1clearecho "##########################################"echo "#   Auto Install mongodb for centos6.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:" NUMcase $NUM in1)        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;;esacclearsoftdir="/software"installdir="/usr/local"sys_init() {clearecho -e "\033[42;5m initialization system... \033[0m"sleep 2sed -i "s/SELINUX=enforcing/SELINUX=disabled/"  /etc/selinux/config/etc/init.d/iptables status >/dev/null[ $? -eq 0 ] && iptables -I INPUT -p tcp --dport 27017 -j ACCEPT[ $? -eq 0 ] && /etc/init.d/iptables saveyum -y install wget >/dev/nullsetenforce 0}download_software() {clearecho -e "\033[42;5m download software... \033[0m"sleep 2if [ ! -d ${softdir} ];then    mkdir ${softdir} && cd ${softdir}else    cd ${softdir}fifor software_url in ${mongodb_url}do    wget -c ${software_url}    if [ $? -eq 0 ];then        for software in `ls`        do            tar zxf $software -C $installdir        done    fidone}install_software() {clearecho -e "\033[42;5m install server... \033[0m"sleep 2mongodbdir=$(ls ${installdir}|grep "mongodb-linux-x86_64")ln -s ${installdir}/${mongodbdir} ${installdir}/mongodbmkdir ${installdir}/mongodb/{conf,mongoData,mongoLog}touch ${installdir}/mongodb/mongoLog/mongodb.logecho "export PATH=\$PATH:${installdir}/mongodb/bin">/etc/profile.d/mongodb.shsource /etc/profile.d/mongodb.shcat >${installdir}/mongodb/conf/mongodb.conf <<EOFdbpath=${installdir}/mongodb/mongoDatalogpath=${installdir}/mongodb/mongoLog/mongodb.loglogappend=truejournal=truequiet=trueport=27017pidfilepath=/var/run/mongod.pid#replSet =RSmaxConns=20000#httpinterface=truefork=true#auth=trueEOF}start_server() {clearecho -e "\033[42;5m configuration server... \033[0m"cat >/etc/init.d/mongodb-server<<EOF#!/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/functionsbash_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=nobodystart() {    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 1esacexit \${RETVAL}EOFcd /chmod +x /etc/init.d/mongodb-serverchkconfig mongodb-server onservice mongodb-server start}check_server() {clearecho -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 ];thenecho -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"elseecho -e "\033[42;37m mongodb install error! \033[0m"fi}main() {sys_initdownload_softwareinstall_softwarestart_servercheck_server}main
三、測試





Mongodb 安裝指令碼(附伺服器自啟動)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.