您好,欢迎来到网暖!

当前位置:网暖 » 站长资讯 » 建站基础 » 网络技术 » 文章详细 订阅RssFeed

用Rsync,实现网站的增量部署

来源:网络整理 浏览:183次 时间:2020-08-11

整个网站通常会很大,尤其的其中静态的图片视频之类,但我们通常不会修改他们,平常只会修改几个文件,如果每次更新都将整个网站从本地上传到服务器,无疑很费时间,如果要找到修改的文件,并只上传这些文件,甚至只上传这些文件修改的部分,无疑会方便很多。

这就要用的到今天的主角Rsync,Rsync 可以执行增量备份,它只传输源文件和目标文件之间不一致的部分

环境:

web服务器root目录 /usr/share/nginx/game.shaochenfeng.com
本地项目目录 /git/game.shaochenfeng.com/public

首先建议配置好本地到web服务器的ssh免密码登陆[如何?](),不配置需要以后每次同步时输入密码

1.在web服务器端安装rsync

直接yum或apt安装就可以,在服务器端和本地都安装

yum install rsync # 红帽系apt install rsync # Debian系

为什么要在服务器也安装rsync呢?因为虽然是通过ssh建立链接,但rsync使用的是自己的传输规则,而不是scp

2.向服务器推送

在本地执行,同步 本地项目目录 到 web服务器root目录

rsync -avz --delete <本地路径> www@192.168.56.10:<远程路径>rsync -avz --delete /git/game.shaochenfeng.com/public www@192.168.56.10:/usr/share/nginx/game.shaochenfeng.com

其中参数

  • -a 是递归传输并保持文件属性,在传输带有文件夹时使用,并保留文件的属性
  • -v 显示传输过程
  • -z 进行压缩传输,提高效率
  • --delete 本地删除的文件,在服务器也会被删除
附上rsync常用选项

-a 包含-rtplgoD
-r 递归传输 同步有文件夹时使用
-v 显示传输过程
-l 保留软连接
-p 保持权限属性
-o 保持属主
-g 保持属组
-D 保持设备文件信息
-t 保持文件的时间属性,这个一定要有,不然下次同步不能判断那些文件发生了修改
--backup 对服务器已存在的文件做一个备份,备份的文件名后默认使用"~"做后缀
--delete 本地删除的文件,在服务器也会被删除
--exclude 过滤指定文件,如--exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步
-P 显示同步过程,比如速率,比-v更加详细
-u 加上该选项后,如果DEST中的文件比SRC新,则不同步
--size-only 默认算法会检查修改时间和文件大小,加上这个只检查文件大小
-z 进行压缩传输,提高效率

欢迎访问我的官网,查看运维技术文章 www.shaochenfeng.com

推荐站点

  • 腾讯腾讯

    腾讯网(www.QQ.com)是中国浏览量最大的中文门户网站,是腾讯公司推出的集新闻信息、互动社区、娱乐产品和基础服务为一体的大型综合门户网站。腾讯网服务于全球华人用户,致力成为最具传播力和互动性,权威、主流、时尚的互联网媒体平台。通过强大的实时新闻和全面深入的信息资讯服务,为中国数以亿计的互联网用户提供富有创意的网上新生活。

    www.qq.com
  • 搜狐搜狐

    搜狐网是全球最大的中文门户网站,为用户提供24小时不间断的最新资讯,及搜索、邮件等网络服务。内容包括全球热点事件、突发新闻、时事评论、热播影视剧、体育赛事、行业动态、生活服务信息,以及论坛、博客、微博、我的搜狐等互动空间。

    www.sohu.com
  • 网易网易

    网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。

    www.163.com
  • 新浪新浪

    新浪网为全球用户24小时提供全面及时的中文资讯,内容覆盖国内外突发新闻事件、体坛赛事、娱乐时尚、产业资讯、实用信息等,设有新闻、体育、娱乐、财经、科技、房产、汽车等30多个内容频道,同时开设博客、视频、论坛等自由互动交流空间。

    www.sina.com.cn
  • 百度一下百度一下

    百度一下,你就知道

    www.baidu.com