Fortschrittsanzeige fuer rsync mit dialog

10/11/2007 - 14:25 von Wolfgang Klein | Report spam
Hallo!

Gibt es eine Möglichkeit, rsync über "dialog --gauge" eine
Fortschrittsanzeige zu entlocken?

Die Option "--progress" von rsync selber ist aus größerer Entfernung
leider nicht mehr so richtig zu erkennen. Daher würde ich gerne auf
dialog ausweichen.

Wolfgang Klein, DE - Paderborn ,_,
PGP-Schlüssel per e-mail anfordern: (o,o) Request PGP key by e-mail:
"Bitte PGP-Schluessel senden" {' '} "Please send PGP key"
=#=#
 

Lesen sie die antworten

#1 Lukas Graf
10/11/2007 - 16:44 | Warnen spam
Wolfgang Klein wrote:

Gibt es eine Möglichkeit, rsync über "dialog --gauge" eine
Fortschrittsanzeige zu entlocken?



So ganz einfach ist das nicht, weil rsync (oder die libc?) den Output
anscheinend buffert, wenn STDOUT kein Terminal ist.

Daher hab ich das 'unbuffer' Beispiel-Script von expect herangezogen, um den
Output line-buffered zu kriegen. Sollte eigentlich auf jedem System
vorhanden sein auf dem expect installiert ist.

# rsync --progress $SRC $DST | unbuffer -p sed -u 's///g' | awk '{print
$2;fflush()}' | grep --line-buffered '%' | sed -u 's/%//g' |
dialog --gauge "rsync progress..." 6 30 0

Dafür kriege ich jetzt sicher Prügel, für dreckige Hacks, sed- und
awk-abuse, etc.. :-) Aber hier funktioniert es soweit, und für konstruktive
Kritik bin ich sowieso immer offen ;)

Gruss Lukas

Ähnliche fragen