tar mit Dialog und Progress Bar ?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
vobie
Beiträge: 195
Registriert: 29.08.2003 21:14:50

tar mit Dialog und Progress Bar ?

Beitrag von vobie » 07.03.2010 17:09:57

hi,
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 *
hier mal mein Dialog Script

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
vielleicht hat jemand einen Tipp.
Und wenn das auch noch mit dem entpacken gehen würde wäre das SUPER.
danke
vobie
Es gibt keine dummen Fragen. Aber leider viele dumme Antworten.

Antworten