Apr 27, 2007
[Linux] 巨大なデータの tar アーカイビングに苦戦
大量のデータを tar でアーカイビングしようとして苦戦。 最初は特に意識せず普通に
とやったのだが、tar cvf /home/foo.tar ./foo
と怒られてしまった。 それなら、とtar: Cannot write to /home/foo.tar: File too large tar: Error is not recoverable: exiting now
と bzip2 圧縮をかけたのだが、tar --use=bzip2 -cvf /home/foo.tar.bz2 ./foo
bzip2: I/O or other error, bailing out. Possible reason follows.
bzip2: File too large
Input file = (stdin), output file = (stdout)
Broken pipe
と、またツレナイ結果に。
結局仕方が無いので
#!/bin/sh
src=./foo
dest=/home/
prefix=foo.
suffix=.tar.bz2
cd $src
for i in * ; do
if [ -d $i ] ; then
echo "archiving $i... -> $dest/$prefix$i$suffix"
tar --use=bzip2 -cvf $dest/$prefix$i$suffix $i > /dev/null
fi
done
とディレクトリ個別にアーカイビングするハメに。
もっと良い方法がある気がするのだが。
どうすれば良いのだろう??



