/dev/blog/ID10T

Linux: "time"-Ausgabe in Datei umleiten

• Linux • Comments
Advertisement

Das time-Kommando in Linux ist sehr praktisch. Will man schauen, wie lange so ein Befehl oder eine Kette von Befehlen dauert, stellt man das Kommando vorne an und bekommt eine feine Zeitzusammenfassung im Stile von

real    0m29.881s
user    0m4.360s
sys     0m0.960s

Doch will man diese Ausgabe in eine Datei umleiten, wird es etwas kompliziert. Denn es gibt zwei Versionen von time. Die GNU Version von time hat für die Ausgabe in eine Datei den Parameter -o und für den Anhang an eine Datei zusätzlich noch -a. Diese Version wird normalerweise über den kompletten Pfad aufgerufen, warum erkläre ich gleich.

/usr/bin/time -a -o /tmp/logfile time ls -lA /etc/

Die Shell Version von time ist allerdings deutlich schmaler und weniger mächtig. Um diese Version dazu zu bewegen, in eine Datei zu schreiben, reicht es nicht, wie gewohnt den Output umzulenken.

time cp /etc/foo.bar /tmp/foo.bar.tmp >/tmp/foobar.log 2>&1

Die obige Zeile wird euch lediglich die ausgabe des cp-Befehls in die Datei schreiben. Um auch den time Befehl mitzuloggen, müsst ihr das komplette Konstrukt klammern.

(time cp /etc/foo.bar /tmp/foo.bar.tmp) >/tmp/foobar.log 2>&1

Damit klappt dann auch das Logging mit dem Shell time.

 

Advertisement
More posts
comments powered by isso

Advertisement