问题标签 [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 投票
2 回答
891 浏览

ssh - 如何使用 ssh2 运行自动 rsync

我正在尝试通过 ssh2 协议在两台机器之间设置 rsync。早些时候,我们使用 ssh1 进行自动 rsync,没有任何密码,但最近我们迁移到 ssh2 并运行 rsync,ssh2 提示输入密码。

我生成了一个新的 SSH2-RSA 密钥,它也没有密码,但它仍然要求我输入密码。这是我为 ssh /usr/bin/ssh -2 -i /usr/local/www-rsync 运行的命令-key fsuser@xyz

您需要执行哪些步骤才能获得具有空密码的 ssh2 密钥才能工作?我猜你必须在 /etc/ssh/sshd_config 中设置某些设置,但我不知道是什么!

0 投票
1 回答
737 浏览

svn - 当时间戳每次都不同时,如何使用 rsnapshot 备份 SVN 存储库?

我想让 rsnapshot 在 Linux 机器上备份本地磁盘上的 SVN 存储库。我知道我不能只从文件系统中备份它,所以在每个快照之前,我都会使用“svnadmin hotcopy”进行复制。但是,每次我进行热复制时,生成的文件都具有当前时间戳,而不是与原始文件相同的时间戳。这意味着我失去了执行 rsnapshot 提供的写时复制式磁盘空间节省的能力。

我想到的一个解决方案是让脚本查看热拷贝 ($DEST) 中的所有文件,并为每个文件 x 设置基于文件 $SOURCE/x 的时间戳。我不知道是否有办法让 rsync 在 Linux 上执行此操作(我知道您可以在 Windows 上的 Robocopy 中执行此操作 :) 我确信可以通过 find 和 touch 完成此操作。

欢迎提出如何执行此操作或其他解决方案的建议。我宁愿不使用增量 svn 转储,因为我希望每个时间点快照当时都是存储库的完整副本。

0 投票
1 回答
7043 浏览

c# - 适用于商业应用程序的原生 .NET 版本的 Rsync 可用吗?

目前我们正在评估是否可以为我们销售的应用程序提供rsync支持。

我做了谷歌搜索,找到了一些参考资料:

由于它是一个商业应用程序,我们想要一些没有GPL 许可的东西。

问题:

您是否知道用于复制文件的 rsync 功能包,我们可以随商业 Windows 应用程序一起提供该包?

如果 rsync 功能不需要在系统上进行额外安装,那么只需 XCOPY 就可以了。

0 投票
1 回答
263 浏览

mercurial - 如何在两个 hg 存储库之间同步由 .hgignore 匹配的文件

您将如何在两个存储库之间同步 mercurial 未跟踪的文件?

我的.hgignore样子是这样的:

谢谢

0 投票
1 回答
259 浏览

ssh - 任何支持 Linux SSH 的 rsync 前端?

任何适用于 Linux 的 SSH 的 rsync 前端?

我试过Unison,但我认为它需要服务器也安装了Unison。

问候

哈维

0 投票
2 回答
1233 浏览

python - python unicode实现(使用外部程序:cygnative plink ssh rsync)

我有一个需要在 Windows 上运行的 python 备份应用程序。它需要 UTF 兼容性(以便能够备份包含 UTF 字符(如意大利重音符号)的目录)。问题是它使用外部程序(plink、cygwin、ssh 和 rsync),我无法让它们工作。原型32行,请看:

仍然不适用于 nosklo 的版本,检查结果:

python prototype_unicode_new.py 'rsync.exe --stats -az --numeric-ids --delete --blocking-io --modify-window=2 --no-group --chmod=u=rwX,g=,o = -e "cygnative plink -ssh -2 -batch -pw test" /cygdr ive/c/\xce\xba\xcf\x8c\xcf\x83\xce\xbc\xce\xb5 vaidab@192.168.1.86:/volatile /back kup/vaidab/2010-03-03.15_41_56/'

OUT: '\n文件数: 0\n传输的文件数: 0\n总文件大小: 0 字节\n总传输文件大小: 0 字节\n文字数据: 0 字节\n匹配数据: 0 字节\n文件列表大小: 9 \n文件列表生成时间:0.001 秒\n文件列表传输时间:0.000 秒\n发送的总字节数:22\n接收的总字节数:12\n\ nsent 接收的 22 个字节 12 字节 68.00 字节/秒\n总大小为 0 加速为 0.00\ n' ERRS: 'rsync: link_stat "/cygdrive/c/\xc3\x8e\xc2\xba\xc3\x8f\xc5\x92\xc3\x8f\xc 6\x92\xc3\x8e\xc2\xbc\xc3\ x8e\xc2\xb5" 失败:没有这样的文件或目录 (2)\nrs 同步错误:某些文件/属性未在 /home/lapo/packaging/rsync-3.0.6 传输(参见以前的错误)(代码 23) -1/src/rsync-3.0.6/main.c(1039) [发件人=3.0. 6]\n' RET: 23

0 投票
1 回答
3148 浏览

algorithm - rsync 算法如何正确识别重复块?

我个人正在寻求了解 rsync 算法的工作原理。经过一番阅读和思考,我想出了一个我认为算法失败的情况。我试图弄清楚这是如何在实际实现中解决的。

考虑这个例子,其中 A 是接收者,B 是发送者。

如您所见,唯一的更改是12345已删除。

现在,为了让这个例子更有趣,让我们选择一个 5 字节(字符)的块大小。使用弱校验和对发送方的值进行散列得到以下值列表。

接下来我们检查 A 中是否有任何哈希值不同。如果有匹配的块,我们可以跳到该块的末尾进行下一次检查。如果存在不匹配的块,那么我们发现了差异。我将逐步完成这个过程。

  1. 散列第一个块。这个哈希值是否存在于值列表中?abcde -> 495(是的,所以跳过)
  2. 散列第二个块。这个哈希值是否存在于值列表中? 12345 -> 255(是的,所以跳过)
  3. 散列第三个块。这个哈希值是否存在于值列表中? 12345 -> 255(是的,所以跳过)
  4. 散列第四个块。这个哈希值是否存在于值列表中? fghij -> 520(是的,所以跳过)
  5. 没有更多数据了,我们完成了。

由于在值列表中找到了每个哈希,我们得出结论 A 和 B 是相同的。在我看来,这不是真的。

在我看来,只要有多个块共享相同的哈希值,就会发生这种情况。我知道我已经跳过了计算和检查强哈希的步骤,但这不会有什么不同,因为第二个和第三个块完全相同

我错过了什么?

0 投票
1 回答
1544 浏览

deployment - 使用 rsync(或 svn、git、cvs)部署并在部署期间忽略不一致的状态?

我们目前正在讨论通过 rsync 部署网站。但是,在 rsyncing 期间,应用程序处于不一致状态,因为某些文件可能已经同步,而其他文件仍然保留旧版本,对吗?人们如何处理这个问题?我想通过 svn/git/cvs 部署时也存在同样的问题。我应该关闭站点,rsync,然后重新打开吗?还是人们只是忽略了这个不一致的问题?

0 投票
2 回答
1581 浏览

mysql - 如何将数据库驱动的网站同步到不同的服务器

我有一个在专用帐户上使用 cPanel 的网站,我希望能够自动将该网站同步到第二家托管公司或本地(内部)服务器。

基本上这是一种复制。该网站是数据库驱动的 (MySQL),因此理想情况下它会同步所有内容(内容、数据库、电子邮件等),但最重要的是同步网站文件及其数据库。

与其说是寻找故障转移解决方案,不如说是自动复制解决方案,所以如果主站点(服务器)离线,我可以手动快速启动复制的站点。

我熟悉 unison 和 rsync 之类的工具,但其中大多数仅同步文件,并且在打开数据库连接时效果不佳。

0 投票
1 回答
144 浏览

plone - 克隆站点文件所有者

我不小心将我的 plone 站点上所有文件的所有者更改为 plone,如果不重新安装站点,我不知道如何解决这个问题,这是不可接受的。

我有保留默认所有者的备份版本,但同时在默认站点上进行了更改。也许 rsync 只能在这些副本之间同步所有权???

任何想法都是宝贵的。干杯