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 @   阿K&LiveCai  阅读(427)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示