mongodb.sh 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/bin/bash
  2. fw_depends databases
  3. fw_installed mongodb && return 0
  4. # send over the required files
  5. scp $FWROOT/toolset/setup/linux/databases/mongodb/mongodb.conf $DBHOST:~/
  6. scp $FWROOT/toolset/setup/linux/databases/mongodb/create.js $DBHOST:~/
  7. # install mongo on database machine
  8. ssh $DBHOST 'bash' <<EOF
  9. echo "Setting up MongoDB database"
  10. sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
  11. echo 'deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse' | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
  12. sudo apt-get -y update
  13. sudo apt-get -y remove mongodb-clients
  14. sudo apt-get -y install mongodb-org
  15. sudo service mongod stop
  16. sudo mv /etc/mongodb.conf /etc/mongodb.conf.orig
  17. sudo cp mongodb.conf /etc/mongodb.conf
  18. sudo mv mongodb.conf /etc/mongod.conf
  19. sudo rm -rf /ssd/mongodb
  20. sudo rm -rf /ssd/log/mongodb
  21. sudo cp -R -p /var/lib/mongodb /ssd/
  22. sudo cp -R -p /var/log/mongodb /ssd/log/
  23. sudo service mongod start
  24. for i in {1..15}; do
  25. nc -z localhost 27017 && break || sleep 1;
  26. echo "Waiting for MongoDB ($i/15}"
  27. done
  28. nc -z localhost 27017
  29. if [ $? -eq 0 ]; then
  30. mongo < create.js
  31. mongod --version
  32. else
  33. >&2 echo "MongoDB did not start, skipping"
  34. fi
  35. EOF
  36. echo -e "ssh \$DBHOST 'bash' <<EOF" > $IROOT/mongodb.installed
  37. echo -e "sudo service mongod start || echo 'mongod service already started'" >> $IROOT/mongodb.installed
  38. echo -e "mongo < create.js" >> $IROOT/mongodb.installed
  39. echo -e "EOF" >> $IROOT/mongodb.installed
  40. source $IROOT/mongodb.installed