“./attachments ”文件夹约 2T,内部有几百万个文件,怎样检测这两个文件夹内部文件一模一样
1
i4oolish 2019 年 8 月 20 日
递归遍历,MD5 比对?
|
2
vuuv 2019 年 8 月 20 日 via Android rsync -c 即可检查。
|
3
shawndev 2019 年 8 月 20 日
原本答案和 1 楼一样,看完 2 楼查了一下 manual 支持 2 楼。
|
4
codingbaby 2019 年 8 月 20 日
md5sum ./attachments
|
5
ThinkZ 2019 年 8 月 20 日 难道不是再同步一次?如果不一致,还不是要重新同步一次
|
6
dot2017 2019 年 8 月 20 日
md5sum 并不适合检查文件夹,更适合文件
|
7
Jeffrey4l 2019 年 8 月 20 日
find . -type f -exec md5sum {} \; > FILES
|
8
smallpython 2019 年 8 月 20 日
把文件打成 tar 包
看看 tar 包的 md5 值一样不一样 |
9
lihongjie0209 2019 年 8 月 20 日
@smallpython #8 你想打包一个 2T 的文件夹?
|
10
zeyexe 2019 年 8 月 20 日
@smallpython #8 不能保证两次打包的 md5 值是一样的。
|
11
nullboy 2019 年 8 月 20 日
rsync -avP ?
|
12
geelaw 2019 年 8 月 20 日 via iPhone
@lihongjie0209 #9 tar 可能是可以 O(1) 额外空间复杂度计算的,md5 是可以 O(1) 额外空间复杂度计算的,因此整个过程是可以流式计算的。
真正的问题并不是计算时间,很可能 文件夹 到 tar 的映射不是 deterministic wrt 内容的,因为 tar 里面还存放了很多其他数据,而且文件的存放顺序也可能是灵活的。 |
13
SingeeKing PRO rclone check
|
14
reus 2019 年 8 月 20 日
-c, --checksum skip based on checksum, not mod-time & size
用 rsync -c |
15
otakustay 2019 年 8 月 20 日
2 个内容一模一样但是 chmod 不一样的文件是不是一样?
2 个内容和 chmod 都一样但 mtime 不一样的文件是不是一样? |
16
vuuv 2019 年 8 月 20 日 via Android @ThinkZ #5 rsync 默认根据大小及时间快速判断文件是否需要同步,有较低可能出现内容不一致的情况(主要是不敢赌)。
而-c 可以显著减小这个风险。如果还不放心,再上 md5+sha1 校验文件。 常规要求文件安稳的做法 rsync -c 即可满足。 |
17
smallpython 2019 年 8 月 20 日
|
18
ritaswc 2019 年 8 月 20 日
1、是否存在文件 /文件夹
2、两个文件都存在,对比文件大小是不是同一个数值 3、如果文件大小是同一个数值,对比 sha1 或者 md5 如果我是这个开发者 我会这样做 |