我想知道使用同一命令行的多个 rsync 实例将本地服务器上的同一目录备份到远程服务器上的同一目录是否安全?基本上,如果我并行运行下面的命令 3-4 次,它是否有助于加快速度?接收服务器正在使用 rsyncd。
rsync -av /home/directory/ [email protected]::Home
答案1
不可以。您可以将其分解为多个命令,排除或明确包含目录,但多次运行相同的命令会导致混乱(尤其是 rsync 临时文件)。
答案2
从版本 > 3.0.5(可能是以前的版本)开始,您可以使用 --include、--exclude 参数。
取自这里你可以做这样的事情:
假设directory_a
其下有 2,000,000 个文件。并且directory_b
还有 2,000,000 个文件,运行 2 个单独的 rsync 进程将加快整个过程,但会消耗 CPU 周期。
rsync -av --include="/directory_a*" --exclude="/*" --progress remote::/ /localdir/ > /tmp/myoutputa.log &
rsync -av --include="/directory_b*" --exclude="/*" --progress remote::/ /localdir/ > /tmp/myoutputb.log &
根据来源这种方法可将同步速度提高约 50%
答案3
'Rsync' 因传输特定文件或目录的选择性和必需部分而以加速转换而闻名。并行使用您提到的命令 3-4 次完全取决于您的网络托管帐户被授予了多少资源,但有一点是肯定的,这会给服务器带来更多负载,所以我建议您不要这样做。