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;
做个开心快乐人
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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,谁才是开发者新宠?