【发布时间】:2016-09-15 05:03:58
【问题描述】:
我正在备份我的服务器数据。
一些文件夹有600GB 周围的数据,我需要将其压缩为100GB 的6 个文件。
我在谷歌上找到了一些想法。(similar topic#1、similar topic#2 等等)。 我们可以通过
tar cvzf - data/ | split --bytes=100GB - sda1.backup.tar.gz.
我们也可以解压
cat sda1.backup.tar.gz.* | tar xzvf -
我的问题是,有没有办法并行完成这项工作(每个 tar 作为一个单独的进程)?因为它需要很长时间才能完成!
或者有没有其他方法可以做到这一点?
编辑
实验:
# date;tar czf - ../saravana | split --bytes=1073741824 - data_bkp.;date
Wed May 18 09:28:32 MDT 2016
tar: Removing leading `../' from member names
tar: ../saravana: file changed as we read it
Wed May 18 09:51:08 MDT 2016
结果
-rw-r--r-- 1 root root 1073741824 May 18 09:31 data_bkp.aa
-rw-r--r-- 1 root root 1073741824 May 18 09:34 data_bkp.ab
-rw-r--r-- 1 root root 1073741824 May 18 09:38 data_bkp.ac
-rw-r--r-- 1 root root 1073741824 May 18 09:41 data_bkp.ad
-rw-r--r-- 1 root root 1073741824 May 18 09:49 data_bkp.ae
-rw-r--r-- 1 root root 904246985 May 18 09:51 data_bkp.af
# du -h data*
1.1G data_bkp.aa
1.1G data_bkp.ab
1.1G data_bkp.ac
1.1G data_bkp.ad
1.1G data_bkp.ae
863M data_bkp.af
这需要 22 分 36 秒才能完成!!
【问题讨论】:
-
理论最大值是多少? IE。你的磁盘有多快?需要多长时间才能完成:
tar cvzf - data/ >/dev/null?您是否保存在读取数据的同一磁盘上?
标签: linux shell backup tar gnu-parallel