对于phper来说部署项目和更新项目是很方便的,只要直接将写好的项目覆盖到项目的根目录就可以啦。但是平时项目开发的时候肯定不是只部署一个环境,一般是三套环境(开发环境、测试环境、生产环境),我们每次在开发环境开发完之后要将项目更新到测试环境和生产环境上,如果每次更新的话都是将项目复制然后手动的去覆盖到项目的根目录下的话就太麻烦啦,而且也容易出错所以我们应该有一套项目管理系统来方便的管理项目的更新迭代,大致结构如下:

画的不好但是意思是对的,这样的话就可以通过一个脚本文件直接更新代码啦,更重要的是我们可以通过php中的 exec() 函数来操作脚本,这意味着我们可以使用php来开发这个项目管理平台,今天只说如何配置rsync。

实验环境:

docker(ubuntu镜像)实例化两台虚拟器

在两台虚拟机上都安装好 rsync 工具,rsync 使用分两种情况,一种是客户端使用(直接执行 rsync 相关命令)另一种是服务器端使用(以daemon模式执行)

配置 rsync 服务端

首先要在 `/etc` 目录下手动添加个 rsyncd.conf 文件并填写相关配置,配置选项解释如下:

port=837  #监听端口默认 873
log file=/var/log/rsync.log  #rsync日志
pid file=/var/run/rsync.pid  #rsync运行时生成的pid存放目录
[abc]  #模块名称
path=/var/www/html  #模块对应的目录
use chroot=yes   #是否限定为模块默认目录
max nonections=4 #指定最大可以连接的客户端数
read only=no  #yes 为改模块内容只允许读,no 为该模块允许读写
list=yes #是否允许 使用 `rsync ip地址::` 列出模块名
uid=root  #以哪个用户的身份来传输
gid=root  #以哪个组的身份来传输
auth users=root  #指定验证用户名,如果不设置则可以不用密码进行传输
secrets file=/etc/rsync.passwd  #指定用户名和密码的存放文件  注:文件需要以 "用户名:密码"的形式存储   并且需要设置权限 chmod 600 rsync.passwd

从客户端读取服务器端文件

rsync --port=837 -avz root@192.168.99.100::abc /myweb

这时会将服务端 /var/www/html 目录下的文件同步到 客户端的 /web 目录下

从客户端推送文件到服务端

rsync --port=837 -avzH /myweb/ root@192.168.99.100::abc

这时会将客户端的 /web 目录下的文件同步到 服务端 /var/www/html 目录下

对于 rsync 命令各个选项的含义 建议看下这篇文章吧,这哥们写的翻译的挺详细的  @骏马金龙  man rsync翻译(rsync命令中文手册)

转载于:https://www.cnblogs.com/itsuibi/p/10847061.html

使用rsync工具构建php项目管理平台相关推荐

  1. php执行rsync,使用rsync工具构建php项目管理平台,rsync项目管理

    使用rsync工具构建php项目管理平台,rsync项目管理 对于phper来说部署项目和更新项目是很方便的,只要直接将写好的项目覆盖到项目的根目录就可以啦.但是平时项目开发的时候肯定不是只部署一个环 ...

  2. 中国电子与IBM携手构建健康云平台;微软推3款机器学习工具;【软件网每日新闻播报│第9-26期】

      小编点评 2015年,中国电子和微软成立合资公司, 中国电子占股51%, 国产操作系统错失先机, 内牛满面. 昨天, 中国电子又和IBM凑一起搭了个健康云平台, IBM抢占健康云的坑, 国产云该如 ...

  3. 研发平台演进:从工具链到开放平台

    在数字化的转型浪潮中,开发人员的生产力越来越被企业重视,提升团队研发效能.缩短TTM成为了实现企业战略目标的重要措施.企业中的研发团队从每个团队各自试验.探索,逐步整合基础设施.最佳实践.企业规范等, ...

  4. 融易宝项目管理平台前台搭建

    融易宝项目管理平台前台搭建 关注微信公众号:序辑,回复 管理前台代码 获取前端代码 一.NPM包管理 1.简介 1.1什么是NPM NPM全称Node Package Manager,是Node.js ...

  5. 基于jsp的项目管理平台系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)

    项目报告 基于Java EE平台项目管理系统的设计与实现 随着社会信息化的发展,很多的社会管理问题也一并出现了根本性变化,项目公司的报表及文件管理也发生了变化,以前的管理是一个分布式的信息,然后围绕中 ...

  6. 在微服务架构下基于 Prometheus 构建一体化监控平台的最佳实践

    欢迎关注方志朋的博客,回复"666"获面试宝典 随着 Prometheus 逐渐成为云原生时代的可观测事实标准,那么今天为大家带来在微服务架构下基于 Prometheus 构建一体 ...

  7. python爬取淘宝商品做数据挖掘_Python 3爬虫 数据清洗与可视化实战 Python数据抓取技术 python3网络爬虫教程书籍 运用Python工具获取电商平台页面数据挖掘书籍...

    A8 书    名:Python 3爬虫 数据清洗与可视化实战 作 译 者:零一,韩要宾,黄园园 出版时间:2018-03 千 字 数:200 版    次:01-01 页    数:212 开   ...

  8. 构建消费者数据平台(CDP),实现全域消费者数字化运营闭环

    数字化时代,众多品牌商和零售商都意识到"以消费者为中心"和"数据驱动"是企业增长的两大核心武器,开始从过去粗放的消费者运营转向基于大数据的全渠道精细化运营. 近 ...

  9. ChaosBlade:从混沌工程实验工具到混沌工程平台

    简介:ChaosBlade 是阿里巴巴 2019 年开源的混沌工程项目,已加入到 CNCF Sandbox 中.起初包含面向多环境.多语言的混沌工程实验工具 chaosblade,到现在发展到面向多集 ...

最新文章

  1. 阿里程序员回老家被哥们问工作,回答在阿里,哥们却吐槽:破IT就破IT,还阿里巴巴!网友:京东就是送快递的,美团就是送外卖的!...
  2. python 错误与异常
  3. XV6850成功刷机步骤
  4. 从周志华的西瓜书到李宏毅的机器学习开源项目,一文总结Datawhale系列分享
  5. LeetCode 9. 回文数
  6. Unity3d开发跳一跳-郑洪智-专题视频课程
  7. 手机老是应用无响应是怎么回事?
  8. 故障:OfficeScan Server 中的 DbServer.exe 占用 CPU 过高
  9. 吴恩达深度学习环境配置
  10. MYSQL数据库中导入中国各个省份编号和省份
  11. 江苏省发布我国首个公路行业BIM省地方标准
  12. 【补丁】YYC松鼠短视频系统补丁,增加视频点赞数据管理功能,可修改点赞数量,V2.8的功能
  13. MacBook雷电3接口失灵不可用
  14. Switch case 使用及嵌套语法
  15. (淘宝无限适配)移动手机端rem布局详解(转载非原创)
  16. hive创建新表——基础
  17. Java学习软件安装详解
  18. ubuntu下的opencv下载编译安装
  19. lan口和wan口的配置
  20. php连接数据库的留言板,PHP+MySql实现简单的留言板功能

热门文章

  1. 2007 Office System Beta2 Technical Refresh 下载
  2. Elasticsearch(六) java代码操作Es进行高级查询match、match_all
  3. java 管理后台前台分离_系统前台后台是否应该分离(包括部署)
  4. mysql存储过程实验几轮_想问下数据库中有关存储过程的实验,求大神!
  5. 收获,不止SQL优化——抓住SQL的本质--第一章
  6. 在golang中defer、panic与recover的作用
  7. PHP exit函数介绍
  8. 记录一次分组求和查询优化
  9. JVM优化系列-常用GC参数总结
  10. 十分钟学会用Go编写Web中间件