ich versuche schon seit Tagen tar in ein Dialog Shellscript mit einer Progress Bar zu fummeln.
Aber so richtig will mir das nicht gelingen.
Es soll ein komplettes Verzeichnis mit allen Dateien und Unter-Verzeichnissen in ein xxx.tar.bz2 gepackt werden.
In der Shell mach ich das immer so
Code: Alles auswählen
cd /was_ich_packen_will
tar cvfj /wo_es_hin_soll/xxx.tar.bz2 *
Code: Alles auswählen
#!/bin/bash
# --------------------------------------------------------
# Erstelle ein array von allen files in /TEST1
DIRS=(TEST1/*)
# hier her soll gepackt werden
DEST="TEMP/"
PACK_DATEI=backup-1.tar.bz2
# pruefen ob Verzeichnis vorhanden, wenn nicht erstellen
[ ! -d $DEST ] && mkdir $DEST
#
# Dialog mit progress bar
# ---------------------------------
#
dialog --title "packe" --gauge "packe Datei..." 10 75 < <(
# Anzahl der Dateien im Array
n=${#DIRS[*]};
# setze Zaehler
i=0
#
#
# $f Dateinahme
for f in "${DIRS[@]}"
do
# berechne progress bar
PCT=$(( 100*(++i)/n ))
# update dialog box
cat <<EOF
XXX
$PCT
packe Datei "$f"...
XXX
EOF
# packen
/bin/tar cfj ${DEST}$PACK_DATEI $DIRS &>/dev/null
done
)
# loesche Test Verzeichnis
#/bin/rm -rf $DEST
Und wenn das auch noch mit dem entpacken gehen würde wäre das SUPER.
danke
vobie