我想知道是否有一种方法(命令)可以用来查找rsync地址的大小而无需启动同步?
例如我如何找到coll.find({paymentDate: {$gte: "2016-02-18", $lte: "2016-06-19"}});
的大小?
答案 0 :(得分:5)
如果你结合-n
标志(干运行或模拟传输,实际上并不复制任何文件)和--stats
,你应该能够找到复制的文件总数。
示例(模拟本地复制的两个文件,每个445个字节):
$ rsync -avz -n --stats . ../test/
building file list ... done
Number of files: 14
Number of files transferred: 0
Total file size: 890 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 299
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 315
Total bytes received: 20
sent 315 bytes received 20 bytes 670.00 bytes/sec
total size is 890 speedup is 2.66
(请注意文件总大小行。)
--stats
部分中的官方rsync docs州
文件总大小是传输中所有文件大小的总和。 这不计算目录或特殊文件的任何大小,但是 确实包括符号链接的大小。
您还可以考虑以更易于阅读的格式输出数字的-h
选项。
答案 1 :(得分:1)
你可以尝试:
rsync --info=stats2 -h -r host:directory/
记住尾随斜线。
-h human-readable
-r recursive
远程目录的大小打印在输出的末尾。
答案 2 :(得分:1)
rsync -avvni sourcedir / destdir /
分解为:
-a archive meta-option - 额外的冗长 - 干运行 -i逐项更改
通常,rsync发生在两个文件夹之间。使用rsync查找两个目录之间已更改数据的大小
因此我们需要提供源和目标目录以查找增量差异。