linux下用tar 备份200G数据大概要 多久

粗略地说,估计大文件打包时间时最大的错误是没有考虑压缩比的差异。
其实很简单。
只需使用dd命令创建一个2 00MB的文件,然后使用不同压缩格式的tar来测量时间,最后乘以1 02 4 即可转换为分钟。

我们先来说说最重要的事情。
去年开始这个项目时,我们使用 dd if=/dev/zero of=2 00M.txt bs=1 M count=2 00 创建了一个 2 00MB 的文件。
这个步骤非常精确,1 M 的块大小至今仍然很常见。
还有一件事:实测显示,tar.gz 压缩 2 00 MB 的文件需要 3 .1 7 9 秒,而 tar.bz2 需要 7 .04 4 秒——这种压缩速度的差异直接使时间差距扩大了一倍。
还有一个更重要的细节。
不要忘记添加 conv=f​​datasync2 参数,这将允许硬盘同步缓存,使数据更加真实。

一开始我以为压缩速度最依赖处理器,但后来发现事实并非如此。
真正阻碍我的是硬盘的 I/O。
等等,还有一件事。
使用bc计算时,一定要转换单位。
将 1 .2 8 8 秒乘以 1 02 4 ,然后除以 6 0。
不要略读并乘以 1 02 4 的平方。

建议下次测量压缩时间,最好在SSD上运行,这样可以直观地看到差异。
但你问我,为什么不直接使用 gzip -k 2 00M.txt 呢?由于不同场景的需求不同,有时还是要看具体的环境。

linux如何查看目录占用空间大小

当我在服务器上进行系统维护时,这个du命令非常有用。
老实说,如果你经常使用它,它会帮你省去很多麻烦。

我想当时公司的旧服务器上安装了一个新的硬盘,我们需要看看存储了多少数据。
我只是使用 du -sh /data,嗖嗖,我立刻就知道 /data 目录占用了多少 GB,并且单​​位会自动为你转换,省去了我自己愚蠢的转换。
1 2 G,嗯,还不错。

有时,客户会报告错误,称某些服务无法正常工作。
怀疑日志文件太大并导致系统瘫痪。
我直接 du -ah /var/log 并递归列出所有日志文件和子目录的大小。
如果你不看到它,你不会知道它,但当你看到它时,你会感到惊讶。
原来是一个小文件,加起来差不多有2 G。
我发现了一个几百MB大小的垃圾日志文件,将其删除,服务立即开始工作。

我尝试了 -c 选项。
有时 /tmp 和 /var/tmp 都有点满,所以我使用 du -ch /tmp /var/tmp。
它首先分别报告两个目录的大小,最后将总数相加给你,一目了然。
不用打开两个命令来比较,非常方便。

还有-L,也很有用。
有一次我发现一个指向隐藏备份目录的符号链接。
如果我想知道备份目录有多大,请使用 du -L <符号链接>。
它会直接告诉您符号链接有多大,而不是链接本身的大小。
这让我免于在路上浪费很长时间。

但是,我不太使用 --apparent size 。
它显示的是文件内容实际占用的字节数,与磁盘块无关。
比如一个1 G的文本文件只能占用9 00M的磁盘空间,因为文件系统会自动压缩小文件或者分块分配。
使用此选项,您看到的1 G是文件中实际存储的数据量,与du -sh显示的不同。
我当时就尝试过一次。
我看到/etc/passwd这么大,而且实际字节数并不夸张,所以我意识到它正在计算内容本身。

总之,du命令对于查看一个目录占用了多少空间非常重要。
-h 必须使用,否则一大串数字会显得眼花缭乱。
-s 快速查看总大小,-a 逐一查看详细信息,-c 添加多个数量。
你必须全部尝试一下。
-L 查看该点的符号链接也很重要。
-l 硬链接统计,我通常很少使用它。
我不太了解剧情,所以不敢乱说。

使用多次后,你就会知道哪种选项适合哪种场景。
当我还在使用 CentOS 6 时,我没有这些花哨的选项,仍然可以清晰地管理服务器。
现在使用 CentOS 8 、Debian 1 1 等,可以使用此选项,让工作变得更加愉快。

linux怎么查看哪个文件最大

1 、文件大;使用ls命令查看ls -lSrh /path。
2 、find命令重复查找最大的文件;查找 / -type f -printf '%s %p\n' |齐次基团-n|尾部-n 1 3 、du命令枚举目录; du -ah /路径|排序-rh |头 -n 1 4 .注意:需要在根目录下使用sudo。
du 是一个磁盘块,其大小可能与实际大小不同。

给自己计时。