Centos 7 Mongodbのインストールとshellスクリプトの構成


shellスクリプト

#!/bin/bash
echo "**************************************"
echo "*****                            *****"
echo "***       Mongodb                ***"
echo "*****                            *****"
echo "**************************************"

echo "=====>    Mongodb:"
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.3.tgz
if [ $? -eq 0 ]; then
    echo "=====>    !"
    echo "=====>    !"
    tar -zxvf mongodb-linux-x86_64-3.6.3.tgz
    echo "=====>    !"
    mkdir /usr/local/mongodb &&  mv mongodb-linux-x86_64-3.6.3/* /usr/local/mongodb/ && cd /usr/local/mongodb && mkdir data && touch logs && cd bin
    echo "=====>    !"
    ./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend  --port=27017 --fork
    if [ $? -eq 0 ]; then
        echo "=====>    ";
        touch mongodb.conf
        echo "=====>  mongodb"
        echo "dbpath=/usr/local/mongodb/data" >> mongodb.conf
        echo "logpath=/usr/local/mongodb/logs" >> mongodb.conf
        echo "logappend=true" >> mongodb.conf
        echo "port=27017" >> mongodb.conf
        echo "fork=true" >> mongodb.conf
        echo "bind_ip=0.0.0.0" >> mongodb.conf
        echo "=====>  Mongodb   "
        touch /lib/systemd/system/mongodb.service
        echo "[Unit]" >> /lib/systemd/system/mongodb.service
        echo "Description=mongodb" >> /lib/systemd/system/mongodb.service
        echo "After=network.target remote-fs.target nss-lookup.target" >> /lib/systemd/system/mongodb.service
        echo "[Service]" >> /lib/systemd/system/mongodb.service
        echo "Type=forking" >> /lib/systemd/system/mongodb.service
        echo "ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf" >>/lib/systemd/system/mongodb.service
        echo "ExecReload=/bin/kill -s HUP $MAINPID" >> /lib/systemd/system/mongodb.service
        echo "ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/bin/mongodb.conf" >> /lib/systemd/system/mongodb.service
        echo "PrivateTmp=true" >> /lib/systemd/system/mongodb.service
        echo "[Install]" >> /lib/systemd/system/mongodb.service
        echo "WantedBy=multi-user.target" >> /lib/systemd/system/mongodb.service
        echo "=====> Mongodb    !";
        systemctl daemon-reload
        systemctl enable mongodb.service
        sed -i '/^PATH/ i\MONGODB_HOME\=\/usr\/local\/mongodb' /etc/profile
        sed -i '/^PATH/ s/$/\:\$MONGODB_HOME\/bin/' /etc/profile
        sed -i '/export/ s/$/\ MONGODB_HOME/' /etc/profile
        source /etc/profile
    else
        echo "=====>    !";
        exit;
    fi
else
    echo "=====>    ,    !"
    exit
fi

echo "===>  mongodb<===";
mongo

スクリプトの実行

# root     

vim mongodb.sh  #     

chmod +x mongodb.sh  #     

./mongodb.sh #   


linuxの/etc/profileに保存されているのはLinuxの環境変数で、私の環境変数はこのようなものです
unset i
unset -f pathmunge
JAVA_HOME=/usr/lib/jvm/java
#       shell     
MONGODB_HOME=/usr/local/mongodb
CLASSPATH=.:/lib/dt.jar:/lib/tools.jar
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/bin:$MONGODB_HOME/bin
export JAVA_HOME CLASSPATH PATH MONGODB_HOME

ソフトウェアのインストールに環境変数を合わせる必要がある場合は、このファイルを整理し、通常はMongodbのインストールのような設定しか必要ありません.
MONGODB_HOME=/usr/local/mongodb                 #    PATH   
:$MONGODB_HOME/bin                               #  PATH    
MONGODB_HOME                                    #  export    

ヒント


Mongodbでは、構成を直接インストールし、POSTにサービスを追加し、最後にCentosの環境変数にクライアントを追加できます.PS:shellのシナリオはやはり比較的にlowのを書いて、軽く噴き出して、ははは!