• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

wie % Fortschritt anzeige in bash script einbinden?

hallo,

ich habe gestern ein script geschrieben um mir in unterschiedlichen abständen backups erstellen lassen zu können von ordnern auf meinem server. was auch schon super funktioniert.

nun habe ich einige ordner dabei die etwas sehr groß sind und es auch mal 2 oder 4 min dauert bis sich da wieder was tut. wo man auch schnell mal auf den gedanken kommen kann: tut der überhaupt noch was? :D

und nun würde ich gerne das beim packen und zusammenstellen einen % anzeige angezeigt werden soll.

also 1% dann springt er um auf 2%, bis hoch zu 100%. und er sollte das auch ausrechnen können. also das bei 100% auch der ordner fertig gepackt ist.
 

lOtz1009

Moderator
Teammitglied
Sorry, aber das steht doch da ziemlich eindeutig.
Ein Auszug des Skripts (zumindest den eigentlichen Backupbefehl) müsste man schon wissen.
 
OP
F

Frank-Bremen

Newbie
ja kein problem. kannste haben. ist übrigens eines meiner ersten scripte. also bitte nicht wundern oder lachen. gg

Beispielausschnitt:
Code:
 79 #########################################
 80 echo -e "\033[1;33m Backup 4) Inhalt von /root/scripte/ wird jetzt gesichert.\033[0m"
 81 echo
 82 echo "Bitte warten!! Ich arbeite.....:"
 83 cd /
 84 tar -czf /root/backups/scripte-$(date +%a,_%d_%b_%Y_%H:%M:%S).tar.gz ./root/scripte
 85 echo
 86 echo -e "\033[1;36m scripte Backup fertig\033[0m"
 87 echo -e "\033[1;36m ---------------------\033[0m"
 88 echo
 89 echo
 90 echo
 91 echo
 92 sleep 4
 93 #########################################
 
OP
F

Frank-Bremen

Newbie
@ robi
ist eine coole for schleife, die du da geuppt hast. echt super. aber wie kann ich es mit dem gerade zu erstellenden backup verbinden? die prozentanzeige ist ja genial. nur leider war das backup nicht fertig als es 100% anzeigte.
 
A

Anonymous

Gast
wie es schein hab ich hier heute massive Probleme mit meinem Fenstersystem hier, ich schreib den Beitrag jetzt zum 3. Mal. :zensur: :zensur: :zensur:

hier nochmal die Schleife aus dem meinem Beitrag der verschüttet gegangen ist.
Code:
for (( i=0;i<=100;i=i+1 )); do printf "\r%4d%%\t" $i;for (( j=0; j<=(( $i/2 ));j=j+1 ));do echo -n "*";done;sleep 1;done;echo

Jetzt noch mal in Kurzfassung.
die funktioniert so noch nicht mit tar zusammen, da müsste einiges geändert werden.
Zuerst Maßstab festlegen, zB Kbyte

1. gesamtgröße der Dateien mit "du -sk " ermitteln die tar sichern soll, in Variable speichern.
diese Variable muss in der ersten Schleife anstatt der 100 stehen.
2. in der ersten Schleife "i=i+1" muss weg, für i immer die aktuelle Größe des schon fertigen Tarachivs gesetzt werden.
3. diese aktuelle Größe wird vor sleep ermittelt und entweder gleich in i oder erst noch in eine andere Variable geschrieben.
4. für die zweite Schleife brauchst man den 100Teil der Gesamtgröße die ermittelt wurden als Stepwert. (dort wo jetzt "j=j+1" steht) und (( $i/2 )) in der zweiten Schleife ist ebenfalls die Gesamtgröße
5. und noch ein paar kleinigkeiten, dann sollte es für tar und unkomprimiertes Backup funktionierne.

So das sind jetzt genügend Hinweise, ihr wollt ja das Programmieren selbst erlernen und erforschen und nicht immer alles vorgekaut vorgesetzt bekommen, damit ihr es nur noch zu schlucken braucht. ;)

Ich muss jetzt nur noch Vista überreden das jetzt endlich mal rauszuschicken und nicht wegzuschmeißen.

robi
 
OP
F

Frank-Bremen

Newbie
hi robi

ich habe die variablen erstellt
zeile 24 und 28 ist interessant. das sind die beiden von denne du gesprochen hast.

Code:
 18 #########################
 19 ##### Die Variablen #####
 20 #
 21 fqdn=multiwelt.eu
 22 time1=5
 23 time2=2
 24 menge1=du -sm /srv/www/vhosts/
 25 #menge2=du -sm /var/lib/mysql/
 26 #menge3=du -sm /etc/
 27 #menge4=du -sm /root/scripte/
 28 backup1=du -sm /private-backup/vhosts-$(date +%a,_%d_%b_%Y).tar.gz
 29 #backup2=
 30 #backup3=
 31 #backup4=
 32 #
 33 ##### Variablen Ende ####

wenn ich das so laufen lasse bekomme ich schon gleich am anfang eine fehlermeldung:
Code:
 Name des Scripts: backup.sh

/root/scripte/backup.sh: line 24: -sm: command not found
/root/scripte/backup.sh: line 28: -sm: command not found

Gesichert werden folgende Verzeichnisse: vhosts, mysql, etc, scripte

wenn ich den befehl allerdings ohne script in die bash eingebe, dann klappt es. was mache ich im script mit der zeile verkehrt? es ist exakt das gleiche. ich habe es schon versucht in (), in '', und in "" zu setzen. bringt leider keinen erfolg.

so sieht es aus wenn ich das gleiche in der bash eingebe. und oben das gleiche nur im script.
Code:
h1197104:/ # du -sm /srv/www/vhosts/
851     /srv/www/vhosts/
h1197104:/ #

bis zu der for schleife wo ich auch schon änderungen gemacht habe, kommt der ja erst garnicht. Das ist einer der abschnitte die für eines der backups zuständig ist.
Code:
 63 #########################################
 64 echo -e "\033[1;33m Backup 1) Inhalt von /srv/www/vhosts/ wird jetzt gesichert.\033[0m"
 65 echo
 66 echo "Bitte warten!! Ich arbeite.......:"
 67 for (( i=0;i<=$menge1 )); do printf "\r%4d%%\t" $backup1;for (( j=0; j<=(( $backup1/2 ));j=j+1 ));do echo -n     "*";done;sleep 1;done;echo
 68 cd /
 69 tar -czf /private-backup/vhosts-$(date +%a,_%d_%b_%Y).tar.gz ./srv/www/vhosts
 70 echo
 71 echo -e "\033[1;36m vhosts Backup fertig\033[0m"
 72 echo -e "\033[1;36m --------------------\033[0m"
 73 echo
 74 echo
 75 echo
 76 echo
 77 sleep $time2
 78 #########################################

vielleicht kannst du mir ja doch ein paar dinge vorkauen. denn nur so kann ich auch wirklich was daraus lernen. weil ich dann die fehler sehe die ich gemacht habe.

wenn du das gesammte script brauchst, ist das auch kein problem.
 
A

Anonymous

Gast
na ich sehe hier fehlen noch ein paar Grundlagen.

Wenn du einer Variable eine Wert zuweisen willst der in der Ausgabe eines Befehls entsteht, dann musst du dort die sogenannte "command substitution" einsetzen das sind die "rückwärtigen einfachen Hochkommas" VARIABLE=`BEFEHL` oder im Script und im Internet besser erkennbar mit $()

Code:
 VARIABLE=$(BEFEHL)

Du könntest in etwa so anfangen deine Verzeichnisgrößen einzusammeln.
Code:
#ein paar INTEGER Variablen erzeugen, (Variablen für Ganzzahlen)
typeset -i DOWNLOAD
typeset -i BILDER
typeset -i DOKUMENTE
typeset -i SUMME

#die Groesse der einzelnen Verzeichniss in Variablen einlesen
DOWNLOAD=$(du -sm  ~/Downloads 2>/dev/null | cut -f1)
BILDER=$(du -sm  ~/Bilder 2>/dev/null | cut -f1)

#wenn mehr als ein Verzeichnis zu erwarten ist, dann hinten mit awk auswerten, cut bringt an dieser Stelle sonst Fehler
DOKUMENTE=$(du -sm  ~/Dokumente  ~/Documents ~/privat/Documents ~/geheim/Dokumente  2>/dev/null | awk ' {SUM+=$1} ; END{print SUM} ' )

#zusammenaddieren
SUMME=$DOWNLOAD+$BILDER+$DOKUMENTE

echo "gesichert werden vorraussichtlich $SUMME MByte"

robi
 
A

Anonymous

Gast
Frank-Bremen schrieb:
hatte ne nachricht bekommen das hier wieder ein neuer beitrag sein soll. hmm komisch.
ich glaube das war ich schon wieder, irgendwie hab ich heute massive Browser oder Verbindungsprobleme und jede Menge seltsames Verhalten. Hab heute bestimmt schon 5 Beiträge abgesendet, die nicht da sind. Diese Themenüberschrift hab ich irgendwie auch verändert, keine Ahnung wie das passiert ist, das ist glaube ich die von einem altem Thema, aus der ich die Befehleszeile rauskopiert habe. ;) ;) ;) ;)
Ich glaub ich mach mal lieber Schluss für heute, mit meinen Zugriffsrechten im Forum hier, ist sonst morgen Konsole komplett verschwunden. :D

robi
 
OP
F

Frank-Bremen

Newbie
neneee, kannst dich beruhigen. die themnüberschrift habe ich verändert nachdem du deine for schleife gepostet hast. weil so passt die überschrift doch besser zu dem thema. gggg
 
OP
F

Frank-Bremen

Newbie
hi robi,

also das mit dem vorher ausrechnen muß nicht unbedingt sein. das ist zwar eine super idee, die ich mit sicherheit auch noch umsetzen werde.
aber ersteinmal möchte ich das es mit der % anzeige klappt. danach mache ich dann den nächsten schritt mit dem vorab ausrechnen.

das mit dem in klammern setzten ist ja logisch. hast vollkommen recht. hatte ich total vergeigt. grrrr

ich bastel da jetzt an der einen zeile schon ca 12 stunden rum und bin leider noch immer nicht weiter. mist. mir gehen die versuche langsam aus.

ich werde das script solange ich am ausprobieren bin mal auf ein minimum verkürzen. und wenn es klappt kann ich es ja ins große einbauen.

Code:
#!/bin/bash
clear
##### Die Variablen #####
menge1=$(du -sm /srv/www/vhosts/ 2>/dev/null)
backup1=$(du -sm /private-backup/vhosts-$(date +%a,_%d_%b_%Y).tar.gz 2>/dev/null)
##### Variablen ende ####
rm -f /private-backup/*
for (( i=0; i<=$menge1 )); do printf "\r%4d%%\t" $backup1; for (( j=0; j<=(( $backup1/2 ));j=j+1 ));do echo -n "*";done;sleep 1;done;echo
cd /
tar -czf /private-backup/makielskisbot-$(date +%a,_%d_%b_%Y_%H:%M:%S).tar.gz ./makielskisbot
cd /private-backup/
ls -l -sh

so jetzt ist es nur auf das nötigste eingeschränkt. jetzt tut es im großen und ganzen immer noch genau das gleiche. nur ohne das ganze schöne drumm und drann. das mache ich hinterher wieder umzu.

also ich bekomme wenn ich es ausführe folgende meldung:
Code:
/root/scripte/kurz.sh: line 8: syntax error: arithmetic expression required
/root/scripte/kurz.sh: line 8: syntax error: `(( i=0; i<=$menge1 ))'

ich komme einfach mit der for schleife nicht weiter.

wenn es geht möchte ich die punkte oder sterne nicht haben. sondern nur die % anzeige wie weit er ist. dafür müsste ich es, glaube ich, auf das hier kürzen oder? der rest der schleife war glaube ich nur für die sterne da. wenn ich mich nicht teusche. bitte korrigiere mich dann.
Code:
for (( i=0; i<=$menge1 )); do printf "\r%4d%%\t" $backup1; done
 
A

Anonymous

Gast
Na gut ich gebe es ja zu, ist nicht ganz einfach, hier mal zu weiterbasteln
Code:
#!/bin/bash
############################################################################################
# kleines Backupscript
# im ersten Abschnitt muessen individuell ein paar Konfigurationen vorgenommen werden
#############################################################################################
BACKUPDIR="/home/rob"   # Zielverzeichnis
BACKUPNAME="backup"     # Anfangsname der Backupdatei

BDIR="/var /etc /opt"   # die Verzeichnisse die gesichert werden sollen
                        #(Vorsicht: Dateienamen mit Leer- oder Sonderzeichen gehen nicht)

DATE=$(date +"%a,_%d_%b_%Y") #die genauere Namensspezifikation

# falls der Konsolbildschirm vorher geloescht werden soll
# clear

# falls bestehende Backups gelöscht werden sollen
# rm "$BACKUPNAME"_"$DATE"* 2>/dev/null

#ENDE der Konfiguration
#############################################################################################


typeset -i MENGE         # intern die geschätzte unkompimierte Groeße
typeset -i FERTIG        # die laenge der bereits geschriebenen Daten
typeset -i PROZ=0        # intern der Prozentsatz der geschieben ist
cd "$BACKUPDIR"
MENGE=$(du -sm $BDIR 2>/dev/null | awk '{sum+= $1}; END{print sum}')
echo "Gesichert wird jetzt $BDIR"
tar -czf "$BACKUPNAME"_"$DATE".tar.gz  $BDIR  2>/dev/null &
JOB=$(jobs -p)

while true
do
         sleep 1;
         FERTIG=$(($(stat -c "%s" "$BACKUPNAME"_"$DATE".tar.gz)/1024/1024))
         PROZ=$FERTIG*100/$(($MENGE+1))
         printf "\r%4d%%\t" "$PROZ"
         for ((j=0; j<=$PROZ;j=j+2 ))
         do
                echo -n "*"
         done
         if (!  ps -p $JOB >/dev/null )
                then
                break
         fi
done

sleep 1
echo -e "\nBackup von \"$BDIR\" ist fertig, Sicherung ca. $FERTIG MByte \n"
exit 0
########   ENDE SCRIPT   ######################################################################

ist ein wenig ungenau durch die Komprimierung, im Normfall wird eine Sicherung bei 50% bis 70% beendet sein. Reine Verzeichnisse mit Bildern Videos oder nur mit mp3 sollten es trotz Komprimierung 100% oder kurz darüber hinaus gehen. Wird die Komprimierung weg gelassen geht es über die 100% hinaus, bei sehr vielen kleinen Dateien mit langen Dateienamen durchaus auch bis 200%
Die Prozentzahl gibt in etwa an der ursprüngeliche Plattenplatz im Verhältnis zur Backupgröße.

Und eine Schwachstelle ist drin,
Code:
 FERTIG=$(($(stat -c "%s" "$BACKUPNAME"_"$DATE".tar.gz)/1024/1024))
ich hab es jetzt nicht ausprobiert, würde aber sagen sobald das Backup 2GB erreicht hat, ist hier das Integer-Rechenwerk der Bash am Ende und produziertim Script entweder falsche Ausgaben oder Fehler. Entweder einen Befehl suchen mit dem man gleich die Dateigröße in MB bekommt oder einfach die letzten 6 Dezimalstellen wegradieren und alles was kleiner ist, auf größe NULL setzen, dann sollte es auch für größere Backups gehen.

robi
 
OP
F

Frank-Bremen

Newbie
hi robi,

so nun kann ich auch wieder am script arbeiten. löööl. mein schatz ist heute wieder zur arbeit. :D

wenn ne frau in der nähe rumturtelt kann man sich doch nicht richtig konzentrieren. hehe

so habe dein script mal ausprobiert gerade. scheint ja ein tolles teil zu sein. leider zeigt er mir eine fehlermeldung an.

genau mit der zeile die du angegeben hast. aber an der größe kann es nicht liegen. das ist nur der ordner für meine datenbank. und der ist gerade mal 15 mb oder so.

hier mal die fehlermeldung:
Code:
Gesichert wird jetzt /var/lib/mysql
stat: Aufruf von stat für „backup_Fr,_12_Nov_2010_11:45:32.tar.gz“ nicht möglich: Datei oder Verzeichnis nicht gefunden
./backup_neu3.sh: line 37: /1024/1024: syntax error: operand expected (error token is "/1024/1024")
h1197104:~/scripte #

geändert hatte ich nur ziel, quelle und datumformat. alles andere habe ich beim alten gelassen.
habe auch schon versucht rauszufinden was da los sein kann. konnte aber leider nix finden.
 
A

Anonymous

Gast
laut dem Fehler sollte die Backupdatei nicht gefunden werden :schockiert: Normalerweise sollte sie hier da sein, da tar hier schon gestartet ist und eine Sekunde sleep dazwischen ist.

Mal prüfen ob die Backupdatei von tar angelegt werden könnte, nicht das tar die Datei nicht anlegen kann wegen Zugriffsrechten oder fehlendem/falschem Verzeichnis für die Backupdatei.

Ansonsten for die while-Schleife mal noch ein sleep 3 testweise einsetzen, damit tar mal etwas mehr zeit hat die Datei anzulegen.

übrigens ein Suse 11.2 64bit scheint hier mit der Größe keine Probleme zu haben, getestet über 4GB und läuft-
Also möglich das die Beschränkung auf ältere Bash Versionen und 32Bit System beschränkt bleibt.

robi
 
OP
F

Frank-Bremen

Newbie
robi schrieb:
laut dem Fehler sollte die Backupdatei nicht gefunden werden :schockiert: Normalerweise sollte sie hier da sein, da tar hier schon gestartet ist und eine Sekunde sleep dazwischen ist.

Mal prüfen ob die Backupdatei von tar angelegt werden könnte, nicht das tar die Datei nicht anlegen kann wegen Zugriffsrechten oder fehlendem/falschem Verzeichnis für die Backupdatei.
die tar datei wurde nicht angelegt. habe nachgesehen.
zugriffsrechte kann nicht sein, denn wenn ich das script ausführe von mir dann legt er die datei an.
fehlendes oder falsches verzeichnis kann auch nicht sein dar es in meinem script exakt die gleichen sind. schreibfehler ausgeschlossen da copy & paste. extra nochmal vergleichen.

robi schrieb:
Ansonsten for die while-Schleife mal noch ein sleep 3 testweise einsetzen, damit tar mal etwas mehr zeit hat die Datei anzulegen.
bringt leider auch nichts.

robi schrieb:
übrigens ein Suse 11.2 64bit scheint hier mit der Größe keine Probleme zu haben, getestet über 4GB und läuft-
Also möglich das die Beschränkung auf ältere Bash Versionen und 32Bit System beschränkt bleibt.

robi
ja cool.

ich habe mal dev/null auskommentiert. ausgabe dann:
Code:
Gesichert wird jetzt /var/lib/mysql/
tar: Kann Remote-Shell nicht ausführen.: Datei oder Verzeichnis nicht gefunden
tar: backup_Fr,_12_Nov_2010_13\:31\:57.tar.gz: Kann open nicht ausführen: Eingabe-/Ausgabefehler
tar: Nicht behebbarer Fehler: Programmabbruch.
tar: Entferne führende „/“ von Elementnamen
stat: Aufruf von stat für „backup_Fr,_12_Nov_2010_13:31:57.tar.gz“ nicht möglich: Datei oder Verzeichnis nicht gefunden
./backup_neu3.sh: line 37: /1024/1024: syntax error: operand expected (error token is "/1024/1024")
h1197104:~/scripte #
verzeichnis ist aber definitiv richtig. hier der beweis:
Code:
h1197104:/var/lib/mysql # dir
insgesamt 164
drwx------ 2 mysql mysql 24576 21. Okt 17:27 atmail
drwx------ 2 mysql mysql 12288 27. Okt 10:18 bigboybremen
drwx------ 2 mysql mysql  4096 21. Okt 17:27 joomla
drwx------ 2 mysql mysql  4096 21. Okt 17:27 mysql
-rw-rw---- 1 mysql mysql     0 11. Nov 16:36 mysqld.log
-rw-rw---- 1 mysql mysql 11663 14. Mai 19:42 mysqld.log-20100515
-rw-rw---- 1 mysql mysql  2002  8. Jun 22:51 mysqld.log-20100518
-rw-rw---- 1 mysql mysql   328 15. Sep 20:58 mysqld.log-20100608
-rw-rw---- 1 mysql mysql   328 16. Sep 12:29 mysqld.log-20100915
-rw-rw---- 1 mysql mysql   656 20. Sep 09:44 mysqld.log-20100916
-rw-rw---- 1 mysql mysql   476 21. Sep 12:08 mysqld.log-20100920
-rw-rw---- 1 mysql mysql   507  4. Okt 07:04 mysqld.log-20100921
-rw-rw---- 1 mysql mysql   210  4. Okt 07:15 mysqld.log-20101004
-rw-rw---- 1 mysql mysql   179  9. Okt 18:43 mysqld.log-20101010
-rw-rw---- 1 mysql mysql   297  6. Nov 14:37 mysqld.log-20101022
-rw-rw---- 1 mysql mysql   328  9. Nov 18:36 mysqld.log-20101106
-rw-rw---- 1 mysql mysql   328 11. Nov 13:50 mysqld.log-20101110
-rw-rw---- 1 mysql mysql   210 11. Nov 13:51 mysqld.log-20101111
-rw-rw---- 1 mysql mysql     6 11. Nov 13:51 mysqld.pid
srwxrwxrwx 1 mysql mysql     0 11. Nov 13:51 mysql.sock
-rw-r--r-- 1 mysql mysql     6 14. Mai 16:33 mysql_upgrade_info
drwx------ 2 mysql mysql  4096 21. Okt 17:27 phpmyadmin_kB2osn2VzWbI
drwx------ 2 mysql mysql 12288 21. Okt 17:27 picuploader
drwx------ 2 mysql mysql  4096 21. Okt 17:27 .protected
drwx------ 2 mysql mysql 20480 21. Okt 17:27 psa
drwx------ 2 mysql mysql  4096 21. Okt 17:27 testihs
drwx------ 2 mysql mysql  4096 21. Okt 17:27 tf-b4rt
drwxr-xr-x 2 mysql mysql  4096 12. Nov 13:03 .tmp
 
A

Anonymous

Gast
tar: Kann Remote-Shell nicht ausführen.: Datei oder Verzeichnis nicht gefunden
:schockiert: :schockiert: :schockiert:
geändert hatte ich nur ziel, quelle und datumformat. alles andere habe ich beim alten gelassen.
Nimm mal das alte Datumsformat, irgendwie hast du mit deinen Änderungen da was ganz komisches eingebaut.
tar scheint bei dir falsche Argumente zu bekommen, und gar nicht anzulaufen.

robi
 
OP
F

Frank-Bremen

Newbie
ahh wir sind 1 schritt weiter. :D :D :D :D

also mit dem alten datumsformat macht er es. aber er zeigt dabei keine % anzeige an. er zeigt nur bis zeile 2 an. dann tut sich solange garnichts bis er fertig ist, und dann erscheind der gesammte rest innerhalb einer sec.
erst nachsdem er fertig ist sozusagen.

hier die ausgabe:
Code:
Gesichert wird jetzt /srv/www/vhosts
tar: Entferne führende „/“ von Elementnamen
  67%   **********************************ERROR: List of process IDs must follow -p.
********* simple selection *********  ********* selection by list *********
-A all processes                      -C by command name
-N negate selection                   -G by real group ID (supports names)
-a all w/ tty except session leaders  -U by real user ID (supports names)
-d all except session leaders         -g by session OR by effective group name
-e all processes                      -p by process ID
T  all processes on this terminal     -s processes in the sessions given
a  all w/ tty, including other users  -t by tty
g  OBSOLETE -- DO NOT USE             -u by effective user ID (supports names)
r  only running processes             U  processes for specified users
x  processes w/o controlling ttys     t  by tty
*********** output format **********  *********** long options ***********
-o,o user-defined  -f full            --Group --User --pid --cols --ppid
-j,j job control   s  signal          --group --user --sid --rows --info
-O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-l,l long          u  user-oriented   --sort --tty --forest --version
-F   extra full    X  registers       --heading --no-heading --context
                    ********* misc options *********
-V,V  show version      L  list format codes  f  ASCII art forest
-m,m,-L,-T,H  threads   S  children in sum    -y change -l format
-M,Z  security data     c  true command name  -c scheduling class
-w,w  wide output       n  numeric WCHAN,UID  -H process hierarchy

Backup von "/srv/www/vhosts" ist fertig, Sicherung ca. 597 MByte

ich glaube wir lassen das besser mit der % anzeige. irgendwie scheind da der wurm drinnen zu stecken. irgendjemand will wohl nicht das ich sowas zum laufen bekomme. hehe
mein eigenes zeigt zwar keinen fortschritt an, aber immerhin funktioniert es einwandfrei. :D :D

wollte ja auch eigendlich nicht alles neu machen , sondern nur das schon fertige programm in meinem script einbinden. http://www.theiling.de/projects/bar.html denn angeblich soll es ja dazu auch da sein. wenn ich das richtig verstehe. was ja nicht viel ist da ich kaum englisch kann.
 
A

Anonymous

Gast
Keine Ahnung was du für eine Version von "jobs" auf dem Rechner hast, habe jetzt auf 5 Rechner probiert überall hat er das bashbuiltin genommen und überall hat es funktioniert. Oder du hat von der tar Zeile am Ende das & entfernt.

Dann eben anders, einfach die Zeile
Code:
JOB=$(jobs -p)
gegen
Code:
JOB=$!
austauschen.

robi

PS: ,
sondern nur das schon fertige programm in meinem script einbinden. http://www.theiling.de/projects/bar.html denn angeblich soll es ja dazu auch da sein. wenn ich das richtig verstehe.
wenn mein Englisch noch einigermaßen in Ordnung ist, kannst du damit zwar wunderschön Tar-dateien auspacken, aber ein Backup machen :???:
 
OP
F

Frank-Bremen

Newbie
oh man ich bin so blond. :ugly: :ugly: :ugly: :ugly:

ich habe vor dem "2>/dev/null &" ein # zeichen gemacht. weil ich die fehlermeldungen sehen wollte. wenn welche da sind. und habe dabei total das & zeichen übersehen. gröööhl

sorry tut mir leid. bitte schlag mich nicht so doll. lööööööööööl

jetzt läuft es super. zwar zeigt die % anzeige absolut ungenau an, aber immerhin tut sich da was. gg

wenn er mit den ca 900 mb fertig ist zeigt er gerade mal 64% an.

//EDIT:
ich habe mal ein wenig geschummelt. ich habe das: PROZ=$FERTIG*150/$(($MENGE+1)) mal langsam hochgestellt. jetzt zeigt er wenn er fertig ist, 97% an. ob das nun immer passt weiß ich nicht. aber das kann ich ja durch rumprobieren rausbekommen. hehe
 
Oben