shell: come loggare e mandare l’output a video contemporaneamente con tee

Qualche volta è utile inviare l’output di uno script o parte di esso in un file di log.

Allora con o senza parentesi, con o senza error output, più o meno si inseriscono righe come queste:

(
echo -n "start "
date

# do something

echo -n "end "
date
) >> logfile.log 2>&1

Poi però in caso serva tenere sotto controllo quello che succede, si è costretti ad andare in tail -f sul file di log.

L’alternativa è reindirizzare tutto verso tee che scrive in un file e su standard output contemporaneamente:

(
echo -n "start "
date

# do something

echo -n "end "
date
) 2>&1 | tee -a logfile.log

Il -a serve per andare in append anzichè sovrascrivere il file, ma per eventuali dubbi come sempre vale la regola d’oro “RTFM”! 😀

Leave a Reply

Your email address will not be published.