问题标签 [rsync]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
651 浏览

svn - 试图让 rsync 将文件复制回 svn

我正在尝试设置特定的工作流程,但无法弄清楚 rsync 如何(或是否)为此工作。

我的设置是在 Mac OS X 上。

我有我的 SVN 目录。当我运行我的部署脚本时,这些文件被移动到我的集成 Apache 服务器上。我对文件进行了修改,然后手动将它们复制回 SVN。

我这样做的原因是我需要在编辑 html、css 和 javascript 时立即看到浏览器中的变化。但是尝试手动复制和跟踪它变得很耗时,我想自动化它。

我想要做的是使用 rsync 来确定我在 Apache web 目录中修改的文件,然后只将这些文件复制回 SVN。

我有一个我一直在测试的 rsync 命令,但我似乎遇到的问题是,由于已部署文件的时间戳都比 SVN 中的新,rsync 想要将所有文件复制回来,因为它看到了它们作为较新的文件。

我还尝试了 diff,它可以检测文件差异。我想我可以组合一个 shell 脚本,它可以使用 diff、grep 和 cp 的组合来完成这项工作,但我想看看 rsync 是否可以成为一个多合一的解决方案。

0 投票
2 回答
5634 浏览

algorithm - rsync 算法中的滚动校验和

我试图了解rsync 算法在滚动校验和和以交错方式匹配的块方面是如何工作的。

维基百科页面似乎建议发送者和接收者都计算和交换所有可能块的滚动校验和。但这意味着基本上每个字节发送一个校验和!我肯定错过了什么。对齐块是如何工作的?

例如,如果 S = 16 字节块,并且发送方拥有文件 A 的以下文本:

敏捷的棕色狐狸跳过懒惰的狗

并且接收者有文件B的这个文本:

敏捷的棕色狐狸跳过了懒惰的狗

rsync 交换如何工作?

0 投票
1 回答
298 浏览

backup - Rsync 在文件大小更改时创建新文件

我需要在程序运行的同时备份(用于调试)一些临时文件。我曾经用rsync-ing/var/tmp/someprogram目录来做到这一点find . -iname 'blahblah' -exec rsync -someoptions $DESTdir,效果很好。

除了某些程序中的某个人(我没有源代码访问权限,而且永远不会有 - 从 COBOL 开始的悲伤和长篇大论......)的情况除外,它会用某个程序中的新内容覆盖临时文件。

例如

  1. 启动PROG程序
  2. 这会B1237在目录中创建一个文件tmp(我rsync每隔几分钟就会输入一次)
  3. 在 PROG 完成 B123 的处理后,它开始另一个循环并B1237使用新内容重新创建,并且rsync-ed 文件将被覆盖。我也需要第一个版本。

有可能以一种简单的方式吗?我正在考虑对 DEST 目录进行时间戳 gzip 压缩,但应该有另一种方式(无需git在 dest 目录中创建(例如)repo,并在同步后提交......

更新: 我没有提到——抱歉——我没有权利在这个 SLES9(企业)服务器上安装任何东西。

提前致谢!

0 投票
1 回答
2121 浏览

synchronization - 如何保留rsynced文件的远程权限

我已经阅读了 rsync 的手册页,但仍然无法弄清楚这个要求的标志是什么:

  • 设置目标主机中新文件/目录的 775 权限

注意:本地主机是windows xp,远程是linux


编辑:我目前正在使用以下标志。

0 投票
8 回答
68057 浏览

rsync - 如何双向同步?

我想使用 rsync 在两个方向上同步两个目录。

我指的是经典意义上的同步(不是rsync 手册中的意思):
我想在两个方向上更新目录,具体取决于其中哪个更新

这可以通过 rsync 来完成吗(最好以 Linux 方式)
如果没有,还有哪些其他解决方案?

0 投票
3 回答
3628 浏览

git - 像这样使用 git 有什么问题吗?

这是我的情况。我在笔记本电脑和服务器上都保存了一组文件。我已经使用 rsync 在两个位置之间进行了同步设置。最近我决定将这些文件的某些部分置于源代码控制之下。我正在使用git这个。

所以我有shared/我使用rsync同步的。然后我有shared/stuff/哪个在 git 控制之下。我将从本地存储库的两个位置使用 git。我一次只处理一份副本,而且我总是来回同步文件。

我是唯一处理这些文件的人,而这两个位置是这些文件存在的唯一位置。我唯一的原因git是因为就在今天我不小心删除了一些代码,并且无法恢复。

所以我真正的问题是:rsync做任何会破坏的事情git吗?或相反亦然?

编辑:对于那些好奇的人,我使用 rsync 来同步而不是 git 的原因是因为我已经有一个很好的系统来保持 shared/ 文件夹同步,并且希望将 git 存储库保留在其中。

0 投票
2 回答
584 浏览

svn - rsync 不会检测 svn hotcopy 备份中的文件重命名。有什么选择吗?

这一定是一个非常普遍的要求。我有一个数据大小约为 1GB 的 svn 存储库。为了备份,我首先在凌晨 12:00 将热拷贝到目录中,然后在凌晨 1:00,远程机器使用 rsync 提取此备份。安装 svn 的源机器具有 rsyncd 并且是 Windows 机器。

所以,一切都很好,只是每天都有太多的数据传输。即使有几个字节的单个提交。它传输更多 100 MB 的文件。我的猜测是 svn 过于频繁地重命名文件。

那么,在这种情况下我该怎么办呢?

rsync 中是否有任何选项可以仅根据内容而不是文件名检测更改?或者 svn 中是否有任何选项不会进行如此多的重命名?据我记得,有两种数据库选项。也许我正在使用 fsfs。

有任何想法吗?问候, 桑迪普·吉里

0 投票
7 回答
7544 浏览

linux - 如何在两台机器之间保持 Eclipse 工作区同步?

我在家里和工作中都有几乎相同的 Linux (Fedora) 机器,我使用出色的Unison程序使两台机器上的文件保持同步。我一直试图在两台机器之间保持 Eclipse 工作区同步,但这失败了。我都试过了:

  1. 仅同步 /workspace 目录,由于插件升级而导致的错误
  2. 同步 /workspace 和我的 .eclipse/ director。

发生的事情是我在一台机器上工作,在 eclipse 上创建新项目等。然后统一。然后当我去另一台机器时,项目有时不会出现,有时它们会出现但eclipse找不到文件,有时(很少)它可以工作。

我不明白为什么 eclipse 会如此困惑,因为我有相同的工作区、eclipse 版本,甚至 .eclipse 目录。

0 投票
12 回答
196534 浏览

rsync - 如何配置它以在服务器上创建目标目录?

我想rsync从本地计算机到服务器。在一个不存在的目录上,我想rsync先在服务器上创建该目录。

我怎样才能做到这一点?

0 投票
1 回答
3420 浏览

rsync - 1 步中特定本地文件的 rsync 列表

我正在开发一个 Web 应用程序,其中用户上传文件列表,然后应立即将其同步到远程服务器。我有一个需要 rsync 的所有本地文件的列表,但它们会与我不希望每次 rsync 的其他文件混合在一起。我知道 rsync 只会发送更改的文件,但是这个目录结构和内容会随着时间的推移变得非常大,并且延迟是不可接受的。

我知道做一个远程 rsync,我可以指定一个远程文件列表,即..

rsync “主机:/path/to/file1 /path/to/file2 /path/to/file3”

...但是一旦我删除“主机:”并尝试在本地指定文件,这将不起作用。

我也知道我可以使用 --files-from,但这需要我提前创建一个文件,其中包含我想要 rsync 的文件列表(然后将其删除)。我认为只有效地说“将这 4 个特定文件同步到这个远程服务器”会更干净,但我似乎无法让它工作。

有什么办法可以做我想要完成的事情,还是我必须求助于创建一个包含列表的 tmp 文件?

谢谢!