This topic created in 1485 days ago, the information mentioned may be changed or developed.
[root@xxx home]# cp -rp /var/lib/docker /home/docker-data
[root@xxx home]# du -sh /var/lib/docker
4.3G /var/lib/docker
[root@xxx home]# du -sh /home/docker-data/
4.7G /home/docker-data/
6 replies • 2022-04-25 16:12:58 +08:00
 |
|
2
aloxaf Apr 25, 2022
du 默认统计磁盘占用,而不是文件大小
|
 |
|
4
tomychen Apr 25, 2022
检查一下内存... 我之前也是遇到类似问题,原因就是有一条内存坏了。导致复制大文件的时候总是出错( MD5 ,校验失败),开始以为是我程序的问题,一直在代码上找原因,后来用 cp 一样会有问题,最终换内存解决问题。
|
 |
|
6
Mark42 Apr 25, 2022 3
谢谢大家的思路,破案了。 原因是源目录中的文件存在硬链接,因为硬链接是同一个 inode ,导致 du -sh 时只统计了一个文件的大小; cp -rp 命令并没有保留原本的硬链接,而是创建了同样的文件,在系统里是不同的 inode 。所以 du 统计目的目录大小时会变大。 如何解决:cp 加上-a 参数;或者使用 rsync -H
|