the nullfactory – Tail using PowerShell

Tail using PowerShell

07 Oct 2017| PowerShell

Considera uno scenario in cui stai diagnosticando un problema su un server di produzione. Hai abilitato i log e hai tutto impostato per riprodurre il problema. Mettete in coda il trigger per invocare l’operazione difettosa e infine aspettate che il file di log si aggiorni.

Stare a guardare la dimensione del file di log che cambia non è divertente, né lo è aggiornare periodicamente il file. Voglio essere avvisato nel momento in cui il log viene aggiornato in tempo reale. Questo è esattamente ciò che fa un programma come tail – monitora il file per i cambiamenti ed emette la coda del file.

Ci sono alcune incarnazioni di coda là fuori che fanno il lavoro perfettamente bene, ma dato che questo era un ambiente di produzione non ero preoccupato di installare nuovi strumenti.

Per fortuna, il cmdlet Get-Content PowerShell ha questa funzionalità integrata. Questa è la combinazione su cui alla fine ho deciso:

Get-Content log.txt -tail 5 -wait

L’argomento -tail prende il numero di linee da mostrare dalla fine del file e -wait specifica che dovrebbe continuare a monitorare il file.

Concesso che questo metodo non ha le capacità di evidenziazione che avrebbe uno strumento dedicato, ma è un’opzione abbastanza utile da avere in un pizzico.

Infine, risparmia qualche colpo di chiave usando l’alias:

cat log.txt -tail 5 -wait

Aggiornamento 2019-01-30: Recentemente ho avuto l’esigenza di monitorare un file per un certo testo e poi notare il timestamp di quando è stato scritto. Si basa su questa soluzione suggerita.

cat .\processed-users.txt -tail 5 -wait | ? { $_ -like ‘SEARCH_STRING_HERE’ } | % { Write-Host $(Get-Date -Format T) -noNewLine -ForegroundColor Blue; Write-Host ” $_” }

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.