Ubuntu Bash Shell 批量复制站点

用到了:

  1. 数字类型操作 counts=$((coutns+1))
  2. cp -r 复制目录
  3. -d dir 判断文件夹是否存在
  4. 服务的关闭和开启
  5. 文件夹的权限设置
  6. 文件内容的查找和替换

 

 1 #!/bin/bash
 2 
 3 #统计当前目录 文件夹,文件数量,赋予 ${counts} 变量
 4 counts=`ls -l| grep "^d" | wc -l`;
 5 
 6 # 给 ${counts} +1
 7 counts=$((counts+1)); 
 8 
 9 # 需要复制的网站程序
10 base_www='b';
11 
12 # 复制后的网站目录名字 如第2个: bs2
13 create_www=${base_www}'s'${counts};
14 
15 # msyql 数据目录地址
16 base_db_dir='/var/lib/mysql/';
17 
18 # 需要复制的数据库 ,其实就是 目录名字
19 base_db_name='cms_phpok';
20 
21 # 新的数据库名字
22 create_db_name=${base_db_name}'_'${counts};
23 
24 # 需要复制的数据库地址
25 base_db=${base_db_dir}${base_db_name};
26 
27 # 新的数据库地址
28 create_db=${base_db_dir}${create_db_name};
29 
30 # 判断 新网站目录是否存在,不存在就创建
31 if [ ! -d $create_www ]; then 
32     # 关闭mysql数据库
33     /etc/init.d/mysql stop
34 
35     #复制新的数据库
36     cp -r  ${base_db}  ${create_db}
37         
38     # 赋予mysql用户访问新数据库权限
39     chown -R mysql ${create_db} 
40 
41     #启动数据库
42     /etc/init.d/mysql start
43 
44     # 复制新的 网站
45     cp -r ${base_www} ${create_www};
46 
47     # 进入新网站目录
48     cd ${create_www}
49     
50     # 查找替换 数据库的配置  我的数据配置文件地址是  app/database.config.php;
51     # 查找 旧数据库名字 ${base_db_name} 替换为 ${create_db_name} 
52     sed -i -e 's/'${base_db_name}'/'${create_db_name}'/g' app/database.config.php;
53     cd ..
54 fi
55 ls;

 

posted @ 2014-12-14 17:22 阿K&LiveCai 阅读(...) 评论(...) 编辑 收藏