Il 13-08-08 alle 06:26:09Loggare tutto
come monitorare i comandi lanciati
A volte capita di dover fare debug ai comandi che lanciamo, le cause potrebbero essere molteplici. Il comando lanciato non produce risultati sperati, non produce risultati, eccetera... Linux mette a disposizione dei suoi utenti molti log che di solito bastano. Ma se volete spiare nei minimi dettagli quello che fa un comando basterà usare una sintassi particolare.La sintassi corretta per loggare l'output di un comando è questa:
$ ( comando 2>&1 | tee comando.log && exit $PIPESTATUS )
Al posto di
comando ovviamente mettete voi quello che vi serve.
L'istruzione
2>&1 redirige i messaggi di errore nella stessa posizione come standard output ed il comando
tee permette la visione dell'output metre si stanno loggando i risultati in un file (in questo caso
comando.log).
Per finire
exit $PIPESTATUS assicura che il risultato di
comando ritorni come suo risultato e non come risultato del comando tee.
Le parentesi assicurano di eseguire l'intera istruzione in una
subshell