a nullfactory – Tail a PowerShell használatával

Tail a PowerShell használatával

07 Oct 2017| PowerShell

Gondoljunk egy olyan forgatókönyvre, amelyben egy problémát diagnosztizál egy termelési kiszolgálón. Engedélyezted a naplókat, és mindent beállítottál a probléma reprodukálásához. Sorba állítja az indítót a hibásan viselkedő művelet meghívására, és végül megvárja, hogy a naplófájl frissüljön.

Nem szórakoztató a naplófájl méretének változását nézni, ahogy a fájl rendszeres frissítése sem. Szeretnék értesítést kapni abban a pillanatban, amikor a napló valós időben frissül. Pontosan ezt teszi egy olyan program, mint a tail – figyeli a fájlt a változásokra, és kiadja a fájl farokrészét.

Van néhány inkarnációja a faroknak, amelyek tökéletesen elvégzik a feladatot, de mivel ez egy termelési környezet, nem tartottam fenn az új eszközök telepítését.

Szerencsére a Get-Content PowerShell cmdlet beépített funkcióval rendelkezik. Ez az a kombináció, amire végül rátaláltam:

Get-Content log.txt -tail 5 -wait

A -tail argumentum a fájl végétől megjelenítendő sorok számát veszi fel, és -wait megadja, hogy továbbra is figyelje a fájlt.

Megengedi, hogy ez a módszer nem rendelkezik olyan kiemelési képességekkel, mint egy dedikált eszköz, de egy elég hasznos lehetőség, ha szükség van rá.

Végül néhány billentyűleütést megspórolhat az alias használatával:

cat log.txt -tail 5 -wait

Frissítve 2019-01-30: Nemrégiben felmerült bennem az igény, hogy figyeljek egy fájlt valamilyen szövegre, majd jegyezzem fel a szöveg írásának időbélyegét. Ez a javasolt megoldáson alapul.

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

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.