创建小喇叭app脚本

kevin.Zhu 发布于:2013-3-5 12:39 分类:小喇叭  有 17 人浏览,获得评论 0 条  

#!/bin/bash

#version: 1.1.0    author:zkf

# 创建小喇叭app zkf 2016-1-29

#version: 1.1.0 2016-2-18 增加支持多web主机创建  

# 在转发机ada上执行

#定义App的名称
appname=$1 ; 
if [ -z "$appname" ]; then
    echo 'app name required'; 
    exit; 
fi


# 1.创建数据库, 数据库双主 可以在从机上执行
db_host='db2'; 
db_gy='app_gy_'$appname ;
db_ot='app_ot_'$appname ;
db_wiichat='wiichat_app_'$appname ;
echo '------ run create db ------'; 
echo 'db host:'$db_host; 
echo 'creating db:'$db_gy ; 
ssh root@$db_host "mysql -uroot -pteach327 -e 'create database '$db_gy' default charset utf8; use '$db_gy'; source /root/app_db_sample/app_gy.sql ;' "; 
echo "complete." ;
echo 'creating db:'$db_ot ; 
ssh root@$db_host "mysql -uroot -pteach327 -e 'create database '$db_ot' default charset utf8; use '$db_ot'; source /root/app_db_sample/app_ot.sql ;' "; 
echo "complete." ;
echo 'creating db:'$db_wiichat ; 
ssh root@$db_host "mysql -uroot -pteach327 -e 'create database '$db_wiichat' default charset utf8; use '$db_wiichat'; source /root/app_db_sample/app_wiichat.sql ;' "; 
echo "complete." ;
echo 'set grant...';
ssh root@$db_host "mysql -uroot -pteach327 -e \"grant all on $db_gy.* to 'gydb'@'%' identified by 'gydb2015'; \"  "; 
ssh root@$db_host "mysql -uroot -pteach327 -e \"grant all on $db_ot.* to 'onethink'@'%' identified by 'onethink2015';\" "; 
ssh root@$db_host "mysql -uroot -pteach327 -e \"grant all on $db_wiichat.* to 'wiichat'@'%' identified by 'wiichat_2015';\" "; 
ssh root@$db_host "mysql -uroot -pteach327 -e 'flush privileges;  ' "; 
echo "complete." ;
echo '------ create db completed. ------' ;

# ******************************* 以下在web机上执行,每台web机都需要操作 *********************
#定义web主机列表
host_lst=('web')

for _host in ${host_lst[@]}; do

    web_host=$_host; 

    echo "========================== 正在操作主机: $web_host =========================="

    # 2.创建系统目录链接
    echo "WEB_HOST:$web_host, create webapp virtual link.";
    ssh root@$web_host "ln -sf /mydata1/www/app186.sunyoupai.com /mydata1/www/app186.sunyoupai.com/app_$appname ;";

    # 3.创建App配置文件
    echo "WEB_HOST:$web_host, create app configure file.";
    app_conf="/mydata1/www/app186.sunyoupai.com/app_config/app_$appname.php";
    ssh root@$web_host "cp -ar /mydata1/www/app186.sunyoupai.com/app_config/app_sample.php  $app_conf ;";
    ssh root@$web_host "sed -i s/{toreplace}/$appname/g  $app_conf ;";

    # 4.创建接口配置文件
    echo "WEB_HOST:$web_host, create DataAPI config file.";
    app_conf="/mydata1/www/ucapp186.sunyoupai.com/app_config/ucapp186.app.$appname.php";
    ssh root@$web_host "cp -ar /mydata1/www/ucapp186.sunyoupai.com/app_config/ucapp186.app.sample.php  $app_conf ; ";
    ssh root@$web_host "sed -i s/{toreplace}/$appname/g  $app_conf ;";

    # 5.创建支付配置文件
    echo "WEB_HOST:$web_host, create ipaynow config file.";
    app_conf="/mydata1/www/app186.sunyoupai.com/wallet/app_config/app_$appname.php";
    ssh root@$web_host "cp -ar /mydata1/www/app186.sunyoupai.com/wallet/app_config/app_sample.php  $app_conf ; ";
    ssh root@$web_host "sed -i s/{toreplace}/$appname/g  $app_conf ;";

    # 5.创建新域名的IP指向
    ada_ip='172.16.9.161'
    echo "WEB_HOST:$web_host, create UC Domain IP Route.";
    ssh root@$web_host "echo \"$ada_ip    ucapp186.app.$appname\" >> /etc/hosts ;  cp /etc/hosts    /etc/hosts.bak ";
done

# ******************************************** 以下在转发机上执行 ***********************************

# 6.创建接口域名
ada_host='ada';
echo "ADA_HOST:$ada_host, update nginx config file.";
uc_nginx_file='/etc/nginx/sites-available/ucapp186.app.'$appname
uc_nginx_ln='/etc/nginx/sites-enabled/ucapp186.app.'$appname
ssh root@$ada_host "cp -ar /etc/nginx/sites-available/ucapp186.app.sample  $uc_nginx_file ; ";
ssh root@$ada_host "sed -i s/{toreplace}/$appname/g  $uc_nginx_file ; ";
ssh root@$ada_host "ln -sf $uc_nginx_file    $uc_nginx_ln ; ";
ssh root@$ada_host "kill -HUP $(cat /var/run/nginx.pid) ;";

# 程序结束
echo 'all jobs done, created a new app: http://xian.sunyoupai.com/app_'$appname' ,user:admin ,pwd:xianxiaolaba';