Advertisement
Guest User

Untitled

a guest
Dec 18th, 2014
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.05 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #Usage: ./startup.sh ip rootpwd domain.ltd "Blog title" admin@email (plugins)
  4.  
  5. #Vars for use
  6. #HOST=$1
  7. #ROOTPWD=$2
  8. MRPWD=`pwgen -s 15`
  9. #DOMAIN=$3
  10. #BTITLE=$4
  11. #ADMEMAIL=$5
  12. DBNAME=`pwgen`_`pwgen`
  13. DBUSER=`pwgen`
  14. DBPASS=`pwgen -s 12`
  15. ADMPWD=`pwgen -s 12`
  16. FTPPWD=`pwgen -s 12`
  17. RECIPE_CL=/home/alexey/wordpress/books/wp2vps/wp_clean.yml
  18. RECIPE_PL=/home/alexey/wordpress/books/wp2vps/wp_plugins.yml
  19.  
  20. #Generating inventory file
  21.  
  22. #if [ -z $6 ]; then
  23. #    RECIPE=$RECIPE_CL
  24. #else
  25. #    RECIPE=$RECIPE_PL
  26. #fi
  27. # Обработка аругментов для передачи функции
  28.  
  29.  
  30. if [ $# -lt 1 ]
  31. then
  32.     echo "No options found!"
  33.     exit 1
  34. fi
  35.  
  36. checkargs () {
  37.     if [[ $OPTARG =~ ^-[i/p/u/t/m/P/h]$ ]]
  38.     then
  39.         echo "Unknow argument $OPTARG for option $opt!"
  40.         exit 1
  41.     fi
  42. }
  43.  
  44. usage() {
  45.      echo "Using:
  46.     -i IP address;
  47.     -p Root password;
  48.     -u Site address;
  49.     -t Blog title;
  50.     -m admin email
  51.     -P not work for now
  52.     -h this shit;
  53.     "
  54.      }
  55.  
  56. installwp() {
  57. echo "Will install WP on $HOST"
  58. echo "Generating inventary file"
  59. if [ -f /tmp/$HOST ]
  60. then
  61.     rm /tmp/$HOST
  62. fi
  63.  
  64. echo "[CMS_service]
  65. $HOST ansible_ssh_user=root ansible_ssh_pass=$ROOTPWD
  66. " > /tmp/$HOST
  67.  
  68. sleep 2
  69. #echo $RECIPE
  70. echo "Using ansible"
  71. echo /usr/bin/ansible-playbook -i /tmp/${HOST} ${RECIPE} --extra-vars=\"db_name=${DBNAME} db_user=${DBUSER} db_password=${DBPASS} domain=${DOMAIN} title=\'${BTITLE}\' admin_pass=${ADMPWD} admin_email=${ADMEMAIL} ftp_password=${FTPPWD} new_root_mysql_pwd=${MRPWD} ip=${HOST}\" -vvvv
  72.  
  73. #/usr/bin/ansible-playbook -i /tmp/${HOST} ${RECIPE} --extra-vars="db_name=${DBNAME} db_user=${DBUSER} db_password=${DBPASS} domain=${DOMAIN} title='${BTITLE}' admin_pass=${ADMPWD} admin_email=${ADMEMAIL} ftp_password=${FTPPWD} new_root_mysql_pwd=${MRPWD} ip=${HOST}" -vvvv
  74.  
  75. echo "Installed"
  76. echo "Clear auth key"
  77.  
  78. #ssh-keygen -f "/root/.ssh/known_hosts" -R ${HOST}
  79.  
  80. echo "{\"${HOST}\":{\"titl\":\"${BTITLE}\",\"home\":\"/var/www/wordpress/\",\"URL\":\"http://${DOMAIN}\",\"database_name\":\"${DBNAME}\",\"database_ftp_user\":\"${DBUSER}\",\"database_password\":\"${DBPASS}\",\"admin_username\":\"admin\",\"admin_password\":\"${ADMPWD}\",\"ftp_password\":\"${FTPPWD}\",\"mysql_root_password\":\"${MRPWD}\"}}"
  81. }
  82.  
  83. while getopts ":i:p:u:t:m:Ph" opt
  84. do
  85.     case $opt in
  86.         i) checkargs
  87.         echo "Options $opt has Argument $OPTARG "
  88.         HOST=$OPTARG
  89.         ;;
  90.         p) checkargs
  91.         echo "Options $opt has Argument $OPTARG "
  92.         ROOTPWD=$OPTARG
  93.         ;;
  94.         u) checkargs
  95.         echo "Options $opt has Argument $OPTARG "
  96.         DOMAIN=$OPTARG
  97.         ;;
  98.         t) checkargs
  99.         echo "Options $opt has Argument $OPTARG "
  100.         BTITLE=$OPTARG
  101.         ;;
  102.         m) checkargs
  103.         echo "Options $opt has Argument $OPTARG "
  104.         ADMEMAIL=$OPTARG
  105.         ;;
  106.         P) checkargs
  107.         echo "Select plugins"
  108.         PLUGINS="yes"
  109.         ;;
  110.         h) usage
  111.         exit
  112.         ;;
  113.         install)
  114.             installwp;;
  115.  
  116.  
  117. esac
  118. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement