我有一个相当大的目录在一台服务器上(超过4000个文件),我想复制到另一台服务器(其中包含此目录的以前版本)。 rsync
是第一个选项,但它会将目标文件夹置于等待状态很长一段时间(超过一分钟)。
我想这样做有点不同:
gzip
源文件夹 scp
到目标服务器 gunzip
那里的文件 完成这一切的最好方法是什么?
rsync
有 – --delay-updates
这似乎是你所需要的:
«…
该选项将每个更新文件的临时文件放入保存目录中,直到传输结束,此时所有文件都被快速连续地重新命名。 这试图使文件的更新更加primefaces化。 默认情况下,文件被放置在每个名为“。〜tmp〜”的目录中
…»
最快的方法,如果你有空间,是rsync
两次。 保留目标机器上的两个文件副本。 首先做一个远程rsync
来更新不活动的副本。 然后执行本地rsync
来从非活动副本更新主动副本。
rsync到冷拷贝,然后只需更改一个符号链接并删除以前的主动副本
停止目标服务器上的Web服务10分钟,以任何您认为合理的方式进行更新(rsync很好),然后再次启动Web服务。
1-2-3: tar -c -O <source folder> | gzip -c | ssh <destination server> "gzip -d | tar -x "
tar -c -O <source folder> | gzip -c | ssh <destination server> "gzip -d | tar -x "
4: rm <source folder>