Ubuntu Bash Shell 批量复制站点
用到了:
- 数字类型操作 counts=$((coutns+1))
- cp -r 复制目录
- -d dir 判断文件夹是否存在
- 服务的关闭和开启
- 文件夹的权限设置
- 文件内容的查找和替换
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;
做个开心快乐人