zalohovani tar gzp bzip2
Petr "Qaxi" Klima
qaxi na seznam.cz
Pátek Červenec 23 12:46:27 CEST 2004
> s tarem a gzipem pravdepodobne ne-e, jelkoz tar nepodporuje multi-volume a
> zipovani dohromady. (alespon ve verzi mnou uzivane - tar (GNU tar)
> 1.13.93). opacny postup, totiz tarovat na urcitou delku a pajpovat to
> gzipu - zase nepocita s kompresi jiz pri pocitani delky.. tak snad nejaky
> jiny lepsi archivacni softik, na sourceforge jich je urcite dost ;-)
sh.
my dirty tricks
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#!/bin/bash
## in KB
VOLUMESIZE=${1}
export WHERE2TAR="${2}"
export WHERE2TARDIR=`dirname ${WHERE2TAR} `
export WHERE2TARNAME=`basename ${WHERE2TAR} .tar`
export WHERE2TARTMP="$WHERE2TARDIR/${WHERE2TARNAME}.vollast.tar"
PRG=`basename $0`
export SEMAFOR="/tmp/run$PRG.$$"
CHANGE_SCRIPT="/tmp/chsc$PRG.$$"
shift
shift
touch $SEMAFOR
echo "1" >$SEMAFOR
touch $CHANGE_SCRIPT
chmod 700 ${CHANGE_SCRIPT}
###############################################
cat >$CHANGE_SCRIPT <<"PokusSChangerem"
#!/bin/bash
#
# helper script for mktarzal
#
# needs those Env. Var.
#
# WHERE2TAR, WHERE2TARTMP, SEMAFOR
#
VOLUME_NO=`cat $SEMAFOR`
VOLUME=`printf ".vol%03d" $VOLUME_NO`
mv -f $WHERE2TARTMP "$WHERE2TARDIR/$WHERE2TARNAME$VOLUME.tar"
cp -f "$WHERE2TARDIR/$WHERE2TARNAME.vollast.list" \
"$WHERE2TARDIR/$WHERE2TARNAME$VOLUME.list"
cat </dev/null > "$WHERE2TARDIR/$WHERE2TARNAME.vollast.list"
VOLUME_NO=`expr $VOLUME_NO + 1`
echo $VOLUME_NO >$SEMAFOR
gzip -f "$WHERE2TARDIR/$WHERE2TARNAME$VOLUME.tar"
PokusSChangerem
###############################################
tar -cvMlf "${WHERE2TARTMP}" -L "${VOLUMESIZE}" \
-F "bash -x ${CHANGE_SCRIPT}" ${@} | tee
"$WHERE2TARDIR/$WHERE2TARNAME.vollast.list" \
2>"$WHERE2TARDIR/$WHERE2TARNAME.err"
TAR_STATUS="$?"
[ "${TAR_STATUS}" -ne "0" ] && {
echo " ${0} failed making backup ${WHERE2TARTMP}" >&2
echo >&2
cat "$WHERE2TARDIR/$WHERE2TARNAME.err" >$2
}
gzip -f "${WHERE2TARTMP}"
rm -f ${SEMAFOR} ${WHERE2TARTMP} ${CHANGE_SCRIPT}"
Další informace o konferenci Linux