0

我有 3 个带有分片图像目录 (a0-z9) 的独立服务器。不幸的是,我的 rsync 和 php 上传脚本一路中断,现在我在 3 台服务器上有 3 个不匹配的目录,这些目录应该是相同的。我不关心覆盖......如果它已经存在,则无需覆盖它 - 它是一样的。

服务器A

/path/img/a0/001/
/path/img/a0/.../
/path/img/a0/999/
/path/img/../
/path/img/z9/001/
/path/img/z9/.../
/path/img/z9/999/

ServerB 和 ServerC 具有相同的布局。都具有完全相同的 2 位目录结构(260 个目录,a0-z9)。但是它们有不同的子目录。ServerA 可能有a0/001/,但服务器 B 和 C 上可能缺少此目录(或相反)。

我需要合并所有 3 个目录。

最终,如果c7/003/存在于一台服务器上,则它需要存在于所有 3 台服务器上。

我怎样才能做到这一点?我已经修复了它,但我仍然需要清理当前的混乱。

4

2 回答 2

0

下面提供了用于同步两个文件夹的 rsync 命令(给定一个良好的源和一个过时/损坏的目标),您的脚本可能因为运行时间过长而死亡。尝试为较小的子目录运行它。

rsync -a --delete-after /source/images/ -e 'ssh -l username' \
    hostname:/path/to/destination/images/
于 2012-10-11T05:45:05.910 回答
0

您可以尝试使用 Unison,因为您想要双向同步。首先将服务器 1 与服务器 2 同步,然后将服务器 1 与服务器 3 同步,最后再将服务器 1 与服务器 2 同步。最后,所有三台服务器应该具有相同的文件集。

于 2012-10-12T13:58:09.303 回答