理论计算的数据打包备份

1、目前有个服务要重组,需要把以前的数据打包备份,我目前主要是vasp的数据。查看了一下总数据有1.4T太大了,需要删除一些。

2、首先是把电荷密度文件和波函数文件删除,这两个比较大

find vasp -type f \( -name "CHG*" -o -name "WAVECAR" \) -exec rm -f {} +
find vasp -type f \( -name "CHG*" -o -name "WAVECAR" \) -exec echo {} +
find vasp -type f | grep -E "POTCAR|vasp.pbs.*" | xargs rm -f

 vasp  是你想要遍历的文件夹路径。
-type f 表示查找类型为文件的条目。
\( 和 \) 是分组符号,用于组合多个条件。
-name "CHG*" 和 -name "WAVECAR" 是要查找的文件名。
-o 表示逻辑 OR,即匹配任一条件。
-exec rm -f {} + 表示对找到的文件执行 rm -f 命令。+ 表示将所有匹配的文件一次性传递给 rm,而不是逐个执行。
rm -f 比较危险,可以先用echo代替,看看是否正确执行和是否是自己要删除的东西。
如果有更多的文件可以用grep配合

3、这样删除后还有100多个G,然后再删除大于2M的文件。目前主要删除的是OUTCAR文件和vasp的xml文件

find vasp -type f -size +2M -exec rm -f {} \

4、删除后还剩17个G,就可以进行打包了

tar czvf - vasp/ | split -b 300M -d -a 3 - vasp.tar.gz.
使用gz压缩,300M一个包,-d数字后缀,-a 3数字的宽度为3;vasp.tar.gz.  记得后面加个点与数字后缀隔开
解压   cat vasp.tar.gz.* | tar xzvf -

参考

一个目录压缩成多个 tar.gz 包,并在解压时自动合并它们到一个目录 – 郭小睿 – 博客园