部署 – 使用rsync快速上载与其他文件类似的文件

部署 – 使用rsync快速上载与其他文件类似的文件,第1张

概述我正在整理一个部署脚本,它将我的代码目录归结,在当前日期和时间之后命名tar文件,将其推送到服务器,在同名目录中解压缩然后交换“当前“符号链接指向新目录.这意味着我的旧部署会在带时间戳的目录中保留(至少在我删除它们之前). tar文件大约5MB,转移需要将近一分钟.我想加快速度. 我假设每个新的tarball在结构上与之前的tarball非常相似(因为我经常只在部署之间更改几行源代码).有没有办法 我正在整理一个部署脚本,它将我的代码目录归结,在当前日期和时间之后命名tar文件,将其推送到服务器,在同名目录中解压缩然后交换“当前“符号链接指向新目录.这意味着我的旧部署会在带时间戳的目录中保留(至少在我删除它们之前).

tar文件大约5MB,转移需要将近一分钟.我想加快速度.

我假设每个新的tarball在结构上与之前的tarball非常相似(因为我经常只在部署之间更改几行源代码).有没有办法利用这个事实来加速我使用rsync的上传?

理想情况下,我想说“嘿rsync,将这个名为2009-10-28-222403.tar.gz的本地文件上传到我的服务器,但它与2009-10-27-101155.tar文件略有不同已经在那里的.gz,所以尽量发送差异“.这是可能的,还是我应该看到另一种工具?

解决方法

I’m putting together a deployment
script which tars up a directory of my
code,names the tar file after the
current date and time,pushes that up
to the server,untars it in a
directory of the same name and then
swaps a “current” symlink to point at
the new directory.

就个人而言,我认为你应该跳过使用tar,而不是看看使用rsync的–link-dest或–copy-dest功能.link-dest功能非常酷,它会知道看看之前的同步目录,如果相同的文件将它们硬链接在一起,则跳过每次重新传输文件的需要.

mkdir -p /srv/codebackup/2009-10-12 \         /srv/codebackup/2009-10-13# first backup on 10-12rsync -a sourcehost:/sourcepath/ \         /srv/codebackup/2009-10-12/# second backup made on 10-13rsync -a --link-dest=/srv/codebackup/2009-10-12/         sourcehost:/sourcepath/ \         /srv/codebackup/2009-10-13/

您的第二次rsync运行只会传输更改的文件.相同的文件将很难链接在一起.您可以删除旧树,新备份仍将100%完成.您将节省大量存储空间,因为您不会保留相同文件的多个副本.

总结

以上是内存溢出为你收集整理的部署 – 使用rsync快速上载与其他文件类似的文件全部内容,希望文章能够帮你解决部署 – 使用rsync快速上载与其他文件类似的文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1041459.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存