使用 rsync 在服务器之间移动大量小文件

使用 rsync 在服务器之间移动大量小文件

我正在使用 ssh 上的 rsync 在不同位置的两台服务器之间移动大量文件(大约 200 万个),它似乎运行良好,但我刚刚意识到我在此过程中丢失了一些文件。

我得到了服务器 1(包含原始数据)和服务器 2(包含副本)。服务器 1 运行 CentOS 5,服务器 2 运行 Ubuntu 10。

我在服务器 2 的命令行上进行如下传输:rsync -e ssh -avzn usr@server1:/remote/path /local/path

我第一次使用 tar 进行文件移动,但我没有想到通过 ssh 进行管道传输,结果失败了,因为服务器 1 上的磁盘几乎已满,所以我还是传输了它(大约 200GB)并获得了大约 80% 的文件。

然后我通过管道将其余文件(它们位于文件夹中,我得到了 100 个文件夹,每个文件夹大约有 30 个子文件夹,里面有文件)传输到另一个 tar,现在我得到了一切在服务器 2 上。

我想确定一下,所以我有两个选择:获取所有文件的 md5sum 并检查它们,或者在服务器 2 上针对服务器 1 运行 rsync,这就是我所做的。它缺少了一些内容,现在它说没有什么可做的了(试运行)。

但是我发现子文件夹中至少缺少两个文件。我在该文件夹上运行了相同的 rsync,但仍然处于试运行状态。

难道我做错了什么?

谢谢,抱歉,文字太长了。

答案1

好吧,从一开始一切就是我的错:

-n“进行试运行,不做任何更改”。

案子结了!

相关内容