2016-05-18 10 views
0

私はサーバーのデータをバックアップしています。サイズ制限のあるファイルをtarするには?

フォルダの中には、600GBのデータがありますが、それぞれ100GBの6個のファイルとしてタールする必要があります。

私はGoogleにそれをする考えがあります(similar topic#1similar topic#2など)。 我々はまた、我々は、私の質問がある

cat sda1.backup.tar.gz.* | tar xzvf - 

でそれをuntarすることができます

tar cvzf - data/ | split --bytes=100GB - sda1.backup.tar.gz. 

ことによってそれをachiveすることができ、このジョブの並列(独立したプロセスとして各タール)を行うための方法はありますか?完了するまでに時間がかかるからです!

これを行う方法は他にありますか?

EDIT
実験:

# 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秒を取ります!

+0

理論上の最大値は?私。あなたのディスクはどれくらい速いですか? 'tar cvzf-data />/dev/null'にはどのくらい時間がかかりますか?読んでいるのと同じディスクに保存していますか? –

答えて

0

私はタールプロセス中に1つだけのCPUプロセスが4つのうち満員であると思っていました。タールプロセスは多くのCPUを必要とします。

だから、私は、2つの並列プロセスツールPIGZPBZIP2を見つけた私にとってPIGZは素晴らしい作品、サイズのカウントで高い22 GBテストファイル(主に10メガバイトのファイルは、ないために

並列処理でpigz

を試してみましたtar23〜24分を取っnotmal)、pbzip2も同じ時間をtooks(私はこれについて多くの研究を取ることはありません)とpigzは8分を取りました!だから私はpigzを選ぶ。私はpigzで行わたら

、私のCPUの全てが100%95%に行く、これは他のプロセスが遅くなり、いくつかのGoogleの後、私は CPULIMIT

は最後に、私は次のように使用している、このCPU使用率を制限するために解決策を見つけましたこの!!

$CPULIMIT_PATH -i -l $CPU_LIMIT_VALUE $TAR_PATH -I $PIGZ_PATH \ 
--ignore-failed-read -c sda1.backup.tar.gz 

-i - すべての子プロセスは、重要な - そうでない場合はCPUプロセスでは、このための割合 のCPUの同じ
-l制限は、私はすべての45%%を与える

CPU_LIMIT_VALUE=$(echo "$(nproc)*45" | bc); 

この

を使用しますすなわち、2つのコア90および4つのコア180のようなものである。

関連する問題