Problem mit Bash: Umleitung von Ausgabe

Jan-Benedict Glaw jbglaw at lug-owl.de
Fri Apr 4 10:32:01 CEST 2003


On Thu, 2003-04-03 17:59:39 +0200, Florian Schwarz <floh at maflohsoft.de>
wrote in message <3E8C5A6B.6020404 at maflohsoft.de>:
> Jan-Benedict Glaw schrieb:
> >>Jan-Benedict Glaw schrieb:
> >>
> >>>>Florian Schwarz schrieb:
> >>>
> >>>Könntest Du das Script anhängen oder sonstwo hinpacken, sodaß man sich
> >>>das angucken kann. Ich vermute, daß Du (vielleicht nicht so ganz
> >>>offensichtlich;) irgendwo 'nen Syntax-Fehler d'rinhast...
> >>
> >>Ich habe das Wesen mal unter http://floh.linland.de/incmysqlback.sh 
> >>geparkt. Wäre nett wenn du (oder jemand anders) sich das mal anschauen 
> >>könnte. Auch sonstige Verbesserungsvorschläge sind erwünscht!!!
> >
> >Also, "diff A B > C" und "diff A B | cat C" sind zwei vollkommen
> >unterschiedliche Dinger;)
> 
> Hab ich mir schon gedacht... War nur sonne spontane Idee.
> 
> >An einigen Stellen leidet die Lesbarkeit stark unter der häufigen
> >Verwendung von "&&", an einigen Stellen denke ich sogar, daß die
> >"richtige" Ausführung fraglich ist...
> 
> Die &&'s könnt ich wohl ma töten... Was meinst du mit "richtiger 

...oder anders lösen:

if mein_kommando; then
	echo hat geklappt
else
	echo Mist...
	exit 1
fi

> Ausführung fraglich"? Wenn das jetzt zu weit fürt schicks ruhig per PM.

echo blah-fasel &&
if [ ...]; then
	a
else
	b
fi


Willst Du den if-Blopck wirklich von einem echo abhängig machen?

> >So, wie's jetzt ist, ist's auf jeden Fall falsch (also mit der
> >"cat"-Konstruktion). Dein Fehler-Handling ist da auch falsch. Z.B.:
> >
> >  diff $BACKUPDIR/$YESTERYEAR/$YESTERDAY.sql $BACKUPDIR/$YEAR/$TODAY.sql 
> >  2>$BACKUPDIR/diff.err | cat $BACKUPDIR/current.diff
> >  if [ $? != 0 ]; then
> >  	error_handling "Creating Diff-File failed!" diff
> >  fi
> >
> >Hier überprüfst Du den "Fehler" von cat, nicht den von diff.
> 
> Jap, deswegen wollt ich auch eigentlich sowas hier haben:
> 
> diff $BACKUPDIR/$YESTERYEAR/$YESTERDAY.sql $BACKUPDIR/$YEAR/$TODAY.sql > 
> $BACKUPDIR/current.diff 2>$BACKUPDIR/diff.err
> 
> Hab aus versehen die Testversion mit dem | cat Müll rübergeschubst.

:-)

> >Kann's
> >sein, daß die Zieldatei schon existiert und Du keine Schreibrechte hast?
> 
> Schreibrechte sind definitiv ok...
> 
> >Statt mittels ssh einen Patch zu übertragen könntest Du auch rsync
> >nehmen; dann passen hinterher die Dateien wenigstens, für den Dummen
> >Fall, daß die mal auseinanderlaufen sollten...
> 
> rsync? Och nööööö *g* Alle 10 Tage soll sowieso zusätzlich das komplette 
> Backup übertragen werden, nur täglich fällt das wegen zu viel Traffic 
> flach...

D.h., daß Du Dir, wenn die einmal durch irgendeinen Fehler
auseinanderlaufen, im dümmsten Fall nur noch 'was zur Verfügung steht,
was schon 10 Tage alt ist? Schlecht. Wenn Du patchen willst, dann mach'
das doch, und hinterher einfach nochmal mit rsync die Dateien abgleichen
lassen. Sind die unterschiedlich, sind sie's hinterher nicht mehr:-) und
wenn sie gleich sind, dann hast Du auch nicht wirklich viel Traffic
damit erzeugt:)

MfG, JBG

-- 
   Jan-Benedict Glaw       jbglaw at lug-owl.de    . +49-172-7608481
   "Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg
    fuer einen Freien Staat voll Freier Bürger" | im Internet! |   im Irak!
      ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lug-owl.de/pipermail/linux/attachments/20030404/b19cb857/attachment.sig>


More information about the Linux mailing list